Monday, 7 February 2022

How to predicted the response values for some selected predictors values in multiple linear regression?

I have a pandas data frame and I have done single linear regression on it. Using the following code I have predicted the response values for some selected predictor values.

X = df['predictor1'].tolist()
y = df['response'].tolist()
X = sm.add_constant(X)
reg = sm.OLS(y, X).fit()
reg.predict(pd.DataFrame({'predictor1': 1, 'response': [12, 89, 90]}),'prediction')

Then, I have done multiple linear regression on the same data frame using the code below:

def multiple_lin_reg(df, predictors, response):
    y = dataset[response]
    X = dataset[predictors]
    X = sm.add_constant(X)
    reg = sm.OLS(y, X).fit()
    print(reg.summary())

multiple_lin_reg(df, ["predictor1","predictor2"], "response")

And everything works fine. Now, I just want to predict the response value for selected values for more that one predictor. Let's say for predictor1 = [12,22,33] and predictor2 = [90,21,23]

How can I write the similar code to the single linear regression for solving this issue?

Note: I know that in R, it can be done by using the following commands but I want to do it in Python.

pridictor1C=c(12,22,33)
predictor2C=c(90,21,23)
selected_predictor_values = expand.grid(predictor1 = pridictor1C, predictor2 = pridictor2C)

lm.fit=lm(response~predictor1+predictor2 ,data=df)
predict(lm.fit, selected_predictor_values, interval ="prediction")


from How to predicted the response values for some selected predictors values in multiple linear regression?

No comments:

Post a Comment