作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何为时间序列数据创建线性回归模型?
我已经删除了日期时间,并按照正常的回归方法进行处理,但结果显示 r 平方为 -7。我有从 13H1 到 17H2 的数据。
df:
UID BaselineHalf Metric_Type Segment rateadj_amount_usd CPI_Inflation
Exports Fixed_Invstment GDP Govt_Growth Imports Industrial_Production
Merchandise_Exports Merchandise_Imports Nominal_Retail_Sales
Private_Consumption Real_Retail_Sales WPI_Inflation
100130_Print HW 2013-12-31 Print HW CANADA_PRINT_NAMED 2212.060000
3.036892 5.99463 -1.890996 3.885646 2.970826 3.762586 4.716683
-3.32253 -2.444949 10.148924 5.35529 7.001484 2.402204
df1 = df[df['UID']== '100130_Print HW']
x = df1[['CPI_Inflation', 'Exports', 'Fixed_Invstment', 'GDP',
'Govt_Growth',
'Imports', 'Industrial_Production', 'Merchandise_Exports',
'Merchandise_Imports', 'Nominal_Retail_Sales', 'Private_Consumption',
'Real_Retail_Sales', 'WPI_Inflation']]
y = df1['rateadj_amount_usd']
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2,
random_state=101)
lm = LinearRegression()
lm.fit(X_train,y_train)
predictions = lm.predict(X_test)
from sklearn.metrics import r2_score
coefficient_of_determination = r2_score(y_test,predictions)
最佳答案
我发现您的方法存在一个普遍问题:您试图对时间序列进行回归,但删除了时间数据并从数据中提取了随机样本(使用train_test_split())。然而,数据点是随机相关的。当然,某一年的数据在很大程度上取决于前一年。但按照您的方式,模型无法使用此信息。
因此,从 R 平方可以看出,您的模型表现非常差。使用时间序列数据尝试一下。
关于python - 如何为时间序列数据创建线性回归模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58603300/
我是一名优秀的程序员,十分优秀!