python中的多元线性回归没有拟合原点?

Lee*_*idt 0 python regression numpy

我在http://rosettacode.org/wiki/Multiple_regression#Python上找到了这段代码,它在python中进行了多元线性回归.在以下代码中打印b,为您提供x1,...,xN的系数.但是,此代码适合通过原点的线(即结果模型不包括常量).

我想做的只是完全相同的事情,除了我不想通过原点拟合线,我需要在我的结果模型中使用常量.

不知道这是一个小修改吗?我已经搜索过并发现了许多关于python中多次回归的文档,除了它们冗长且过于复杂以至于我需要的东西.这段代码非常完美,除了我只需要一个适合截距而不是原点的模型.

import numpy as np
from numpy.random import random

n=100
k=10
y = np.mat(random((1,n)))
X = np.mat(random((k,n)))

b = y * X.T * np.linalg.inv(X*X.T)
print(b)
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.谢谢.

小智 5

你只需要向X添加一个全1的行.

  • 拿你的观察矩阵(右边的变量,其中第1列是第一个变量,第2列是第二个变量等),并在前面添加一列所有的,例如`numpy.ones(N)`其中`N `是回归中的观察数量.然后,all-one列上的系数将是截距项. (2认同)