如何根据 OLS 回归结果创建变量?
How to Create Variables from OLS Regression Results?
import numpy as np
import pandas as pd
from scipy import stats
import statsmodels.api as sm
import matplotlib.pyplot as plt
d = {'City': ['Tokyo','Tokyo','Lisbon','Tokyo','Madrid','Lisbon','Madrid','London','Tokyo','London','Tokyo'],
'Card': ['Visa','Visa','Visa','Master Card','Bitcoin','Master Card','Bitcoin','Visa','Master Card','Visa','Bitcoin'],
'Client Number':[1,2,3,4,5,6,7,8,9,10,11],
}
d = pd.DataFrame(data=d).set_index('Client Number')
df = pd.get_dummies(d,prefix='', prefix_sep='')
X = df[['Lisbon','London','Madrid','New York','Tokyo','Bitcoin','Master Card','Visa','No','Yes']]
Y = df['Total']
X1 = sm.add_constant(X)
reg = sm.OLS(Y, X1).fit()
reg.summary()
我想导入每个变量的系数,以便将模型应用于新数据。我该怎么做?
reg.params
包含参数估计值。 reg.bse
(标准误差)、reg.tvalues
(t-statistics)和reg.pvalues
(P-values)。
可以在文档中查看完整的可用属性集:
如果要将相同的参数应用于不同的数据集,最简单的方法是用新的数据构建一个新的OLS模型,例如
mod = OLS(y_new, x_new)
然后使用predict
方法,
mod.predict(reg.params)
其中 res.params
来自您的原始合身。请注意,x_new 必须在与原始回归相同的位置具有相同的变量。
import numpy as np
import pandas as pd
from scipy import stats
import statsmodels.api as sm
import matplotlib.pyplot as plt
d = {'City': ['Tokyo','Tokyo','Lisbon','Tokyo','Madrid','Lisbon','Madrid','London','Tokyo','London','Tokyo'],
'Card': ['Visa','Visa','Visa','Master Card','Bitcoin','Master Card','Bitcoin','Visa','Master Card','Visa','Bitcoin'],
'Client Number':[1,2,3,4,5,6,7,8,9,10,11],
}
d = pd.DataFrame(data=d).set_index('Client Number')
df = pd.get_dummies(d,prefix='', prefix_sep='')
X = df[['Lisbon','London','Madrid','New York','Tokyo','Bitcoin','Master Card','Visa','No','Yes']]
Y = df['Total']
X1 = sm.add_constant(X)
reg = sm.OLS(Y, X1).fit()
reg.summary()
我想导入每个变量的系数,以便将模型应用于新数据。我该怎么做?
reg.params
包含参数估计值。 reg.bse
(标准误差)、reg.tvalues
(t-statistics)和reg.pvalues
(P-values)。
可以在文档中查看完整的可用属性集:
如果要将相同的参数应用于不同的数据集,最简单的方法是用新的数据构建一个新的OLS模型,例如
mod = OLS(y_new, x_new)
然后使用predict
方法,
mod.predict(reg.params)
其中 res.params
来自您的原始合身。请注意,x_new 必须在与原始回归相同的位置具有相同的变量。