我不清楚您希望适合哪种类型的模型。有人说“多元回归”是指有多个因变量。例如,您可能想要预测当天的湿度和温度。其他人用它来表示一个结果,但有多个预测因素。例如,您可以根据白天和湿度来预测温度。这是一个指导性解决方案,展示了如何从多元回归模型中获取参数估计值、标准误差和新预测值,该模型预测结果、温度、白天和湿度(以及常数项)。
# your original data
day = [4, 5, 6, 8]
temp = [97, 100, 98, 80]
humidity = [62, 46, 50, 55]
# create the design matrix
# intercept (1s), day and humidity as predictors
X = [1, 1, 1, 1; day; humidity]'
# linear parameter estimates
b = inv(X'*X)*X'*temp'
# residuals
R = temp' - (X * b)
# residual variance
v = (R'*R)/(4 - 3)
# variance covariance matrix of parameters
Sigma = v * inv(X'*X)
# standard errors of parameters (b vector)
se = sqrt(diag(Sigma))
# new data for prediction, constant
# day is 7 and 9, humidity is 80
newdata = [1, 7, 80; 1, 9, 80]
# predicted values for day 7 and 9
pred = newdata * b
这使:
pred =
70.712
60.549
在实践中,这就是重新创建轮子,但由于您是 octave 的新手(也许是回归?)我认为这可能会有所帮助。这是使用内置函数直接获取系数的简单方法。
ols(temp', X)
这将b来自上面,您可以乘以新数据(在您的情况下为第 7 天和第 9 天)以获得预测(“预测”)值。
ans =
156.18467
-5.08122
-0.62381