[英]Using sklearn for multiple linear regression
我有一個類似的時間序列:
date var1 var2 var3 var4 var5 var6
0 2004-09-30 6.252216 10.502101 4.965370 26.828754 3.321060 2.723686
1 2004-10-29 6.861840 9.776618 4.719399 27.621344 2.281346 4.449510
2 2004-11-30 8.171250 10.704045 4.949747 30.259377 2.064655 2.843745
3 2004-12-31 9.702585 11.371383 5.422177 33.578991 -1.008974 2.768579
4 2005-01-31 12.064022 10.628460 6.390097 35.135098 -0.385921 3.244204
我想使用sklearn的線性回歸函數來計算此時間序列上的斜率,y軸截距和誤差(r平方)。 請注意,所有這些值已經通過我自己的函數進行了標准化,因此不需要使用sklearn的normalize參數。
到目前為止,這是我對一列進行回歸的代碼:
reg.fit(df.date.values.reshape(-1, 1), df.var1.values.reshape(-1, 1))
alpha = reg.intercept_[0]
beta = reg.coef_[0][0]
error = reg.score(df.date.values.reshape(-1, 1), df.var1.values.reshape(-1, 1))
values = {"alpha":alpha, "beta":beta, "error": error}
我的問題是,我不知道如何同時考慮到每一列進行回歸。 最重要的是,R ^ 2計算不起作用。
除了R ^ 2,我對某些獨立列的斜率和截距非常小:
{'beta': -3.205305722098675e-17, 'alpha': 43.05076221170246}
我將如何解決這些問題?
代替
df.var1.values.reshape(-1, 1)
剛過去
df.drop('date', axis=1) # .values should be optional here also
代替它。
這使df
具有除date
之外的所有列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.