我需要找到一些选定的体重值的预期脑质量。
Y = df_grouped_pow[['Brain mass (g)']]
X = sm.add_constant(a * np.power(Y, b))
model_pow = sm.OLS(Y, X)
result = model_pow.fit();
print(result.summary())
(a和b是之前计算的值。这个问题并不重要) 这是一个回归模型,我想对单个值进行预测,但我不知道该怎么做。它返回相同给定值的预测数组,我明白为什么,但我想知道是否可以让它返回该单个值的单个预测?
我想对单个值进行预测
如果您的意思是对单个输入进行预测,只需使用 Results.predict(exog=None, transform=True, *args, **kwargs),其中
exog
是与 X 维度匹配的输入值数组:
Y = df_grouped_pow[['Brain mass (g)']]
X = sm.add_constant(a * np.power(Y, b))
model_pow = sm.OLS(Y, X)
result = model_pow.fit();
actual_X = [1.0, 2.0, 2.1] # modify based on your input shape
print(result.predict(actual_X))
但现在看来您只想输入一维。对于 OLS 回归模型,对不同维度的输入进行预测是没有意义的。例如,假设训练好的线性函数是
Y = 3 * X1 + 5 * X2 + 7
,如果您只输入 X1 而 X2 缺失或未定义,您期望如何计算值 Y
?