下面的内容不会给出所有的答案,但是它会让您使用python、pandas和statsmodels进行回归分析。
给定这样的数据帧。。。# Imports
import pandas as pd
import numpy as np
import itertools
# A datafrane with random numbers
np.random.seed(123)
rows = 12
listVars= ['y','x1', 'x2', 'x3']
rng = pd.date_range('1/1/2017', periods=rows, freq='D')
df_1 = pd.DataFrame(np.random.randint(100,150,size=(rows, len(listVars))), columns=listVars)
df_1 = df_1.set_index(rng)
print(df_1)
{a1}
…您可以使用statsmodels库并更改下面片段中的result = model.rsquared部分来获得任何回归结果:
^{pr2}$
现在你有了r平方。使用model.pvalues作为p值。并使用dir(model)来更仔细地查看其他模型结果(输出中的结果比您在下面看到的要多):
现在,这应该能让你得到你想要的结果。
要获得所有变量/列组合的期望结果,问答here应该能让您走得更远。
编辑:您可以使用model.summary()更仔细地查看一些常见的回归结果。将其与dir(model)一起使用,您可以看到并不是所有的回归结果都是可用的,与pvalues使用model.pvalues的方式相同。例如,要获得Durbin Watson,您必须使用durbinwatson = sm.stats.stattools.durbin_watson(model.fittedvalues, axis=0)。
This post得到了关于这个问题的更多信息。