我想对一些数据进行回归。
country_scores=country_scores.rename(columns={"Median Math Score (TIMSS Scale, 4th Grade)": "Median Math Score"})
country_scores_log2 = country_scores.copy()
country_scores_log2['GDP Per Capita'] = np.log2(country_scores_log2['GDP Per Capita'].astype(float))
mod = smf.ols(formula="GDP Per Capita ~ Median Math Score", data=country_scores_log2)
res = mod.fit()
print(res.summary())
当我尝试这个时,我总是会收到一个错误:
File "C:ProgramDataAnaconda3libast.py", line 50, in parse
return compile(source, filename, mode, flags,
File "<unknown>", line 1
Median Math Score
^
SyntaxError: invalid syntax
通常,我使用的包中适合python的模型语法将采用不同的模型语法。试试这个:
mod = smf.ols("GDP Per Capita" ~ "Median Math Score", data = country_scores_log2)
一般来说,我使用的语法格式是:
mod = smf.ols(y, X)
y是目标变量,X是一个或多个输入变量的矩阵/数据表。
我个人的写作方式是:
mod = smf.ols(country_scores_log2['GDP Per Capita'], country_scores_log2["Median Math Score"])
在哪里你可以取代";数学成绩中位数";如果您想使用一个或多个其他变量处理不同的输入,请使用列表。