gpt4 book ai didi

python - 如何为时间序列数据创建线性回归模型?

转载 作者:行者123 更新时间:2023-12-01 07:01:34 25 4
gpt4 key购买 nike

如何为时间序列数据创建线性回归模型?

我已经删除了日期时间,并按照正常的回归方法进行处理,但结果显示 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com