模型等用法去这里
https://www.w3cschool.cn/doc_statsmodels/dict.html
快速入门
库函数导入
import numpy as np
import statsmodels.api as sm
import statsmodels.formula.api as smf #导入模块
加载数据
dat = sm.datasets.get_rdataset("Guerry","HistData").data #加载官方数据
dat.head()
回归函数
result = smf.ols('Lottery ~ Literacy + np.log(Pop1831)',data = dat).fit() #ols最小二乘回归
print(result.summary())
以上为示例
下面介绍原理:
学过计量经济学或者多元统计的朋友应该都接触过最小二乘的原理,即求解一组参数使得预测值与实际值的总误差最小。
在多元统计中以矩阵的形式来表述多元方程。因此
X β = Y X \beta = Y Xβ=Y
为了可以保证方阵可以化简,我们将上式化为
X
T
X
β
=
X
T
Y
X^TX\beta = X^TY
XTXβ=XTY
进而可以:
β
=
(
X
T
X
)
−
1
X
T
Y
\beta = (X^TX)^{-1}X^TY
β=(XTX)−1XTY
计算机中能够快速的将数据转化为矩阵:
y,X = dmatrices(‘Lottery ~ Literacy + Wealth + Region’,data = dat,return_type = ‘dataframe’)
分类变量使用C()
C为Categorical variables缩写,即分类变量