python - OLS 回归结果
问题描述
我正在尝试对一个大学项目做一个“OLS 回归结果”,我的代码是这样的:
import statsmodels.api as sm
from statsmodels.formula.api import ols
import numpy as np
data=np.loadtxt('file.txt',skiprows=1)
season=data[:nb,0]
tod=data[:nb,1]
obs=data[:nb,2]
pr=data[:nb,3]
data_lm = ols('pr ~ tod + season',data=data).fit()
table = sm.stats.anova_lm(data_lm, typ=2)
data_lm.summary()
print(table)
它给了我这个错误“PatsyError:错误评估因子:IndexError:只有整数,切片(:
),省略号(...
),numpy.newaxis(None
)和整数或布尔数组是有效的索引pr〜tod)+季节”
我认为错误在于我的数据格式。文本文件包含 4 个不同的列(season、tod、obs 和 pr)。
season:[3., 3., 1., 3., 3., 3., 3., 3., 1., 3., 3., 1., 3., 2., 3., 3., 3.,
1., 1., 1., 1., 3., 1., 2., 1., 3., 1., 1., 2., 1., 3., 3., 1., 1.,
1., 2., 3.]
tod:[2., 4., 1., 2., 2., 2., 4., 1., 3., 3., 1., 3., 3., 2., 2., 4., 3.,
3., 4., 3., 3., 2., 4., 1., 3., 4., 1., 1., 1., 3., 3., 4., 3., 3.,
4., 4., 4.]
obs:[ 1., 1., 1., 3., 3., 3., 3., 3., 4., 4., 4., 5., 5.,
5., 5., 5., 6., 9., 9., 12., 12., 12., 12., 12., 13., 13.,
16., 16., 17., 19., 19., 19., 20., 20., 20., 20., 24.]
pr:[0. , 0. , 0. , 0.1, 0.2, 0.2, 0.4, 0.4, 0.5, 0.5, 0.7, 0.7, 0.7,
0.8, 0.8, 0.8, 0.8, 0.9, 0.9, 1. , 1. , 1.1, 1.1, 1.2, 1.3, 1.4,
1.4, 1.5, 1.6, 1.7, 1.7, 1.8, 1.8, 1.9, 2. , 2. , 2. ]
谁能帮我?
解决方案
推荐阅读
- r - 将 base::colnames 更改为名为 colnames 的通用函数
- javascript - 使用 Twitter Bootstrap 3 的 Grid 时,panel-body 与 navbar-header 重叠
- swift - UITableViewRowAction - 延迟关闭动画直到确认
- string - LiClipse 主题:主题不适用于字符串
- r - ggplot中的2种不同颜色
- python - 熊猫直方图:从数据中提取列和分组
- html -
在 HTML 中使用脚本和另一个 .ts 文件中的参数 - python - 无法访问文本文件中的 JSON 数据
- r - 在 R 中按组将数据从 Long 重塑为 Wide
- r - R仪表板绘图问题