气候变化数据: [链接在此] Python脚本:
import os
import pandas as pd
import statsmodels.api as sm
train = df[df.Year>=2006]
X = train[['MEI', 'CO2', 'CH4', 'N2O', 'CFC.11', 'CFC.12', 'TSI', 'Aerosols']]
y = train[['Temp']]
model = sm.OLS(y, X).fit()
predictions = model.predict(X)
model.summary()
Python结果
依赖变量:温度 R方=0.972
模型:OLS 调整后的R方=0.964
方法:最小二乘法 F统计值=123.1
日期:星期一,2018年10月1日 F统计值显著性概率:9.54e-20
时间:14:52:53 对数似然函数值:46.898
观测数量:36 AIC:-77.80
残差自由度:28 BIC:-65.13
模型自由度:8
协方差类型:非稳健
MEI 0.0361
CO2 0.0046
CH4 -0.0023
N2O -0.0141
CFC-11 -0.0312
CFC-12 0.0358
TSI -0.0033
Aerosols 69.9680
Omnibus:8.397 Durbin-Watson:1.484
Prob(Omnibus):0.015
Jarque-Bera (JB):10.511Skew:-0.546 Prob(JB):0.00522
Kurtosis:5.412
Cond. No.6.35e+06
R脚本
train <- climate_change[climate_change$Year>=2006,]
prev <- lm(Temp ~ ., data = train[,3:NCOL(train)])
summary(prev)
R 结果
残差: 最小值 1/4分位数 中位数 3/4分位数 最大值 -0.221684 -0.032846 0.002042 0.037158 0.167887
系数: MEI 0.036056 CO2 0.004817
CH4 -0.002366 N2O -0.013007 CFC-11 -0.033194 CFC-12 0.037775 TSI 0.009100 Aerosols 70.463329 残差标准误差: 0.07594 段自由度上的多重 R平方: 0.5346, 调整后的R平方: 0.3967 F统计量值: 3.877 在8个和27个自由度上,p值为: 0.003721
问题
R平方有很大的差异,而且独立变量的系数也有些不同。有人能解释一下为什么吗?
python
时是否收到任何警告?我收到了The condition number is large, 6.35e+06. This might indicate that there are strong multicollinearity or other numerical problems.
的警告信息。 - akrun警告: [1] 标准误差假定误差的协方差矩阵已正确指定。 [2] 条件数很大,为6.35e+06。这可能表明存在强多重共线性或其他数值问题。
- Arthur Vaz