在R中,如果我写
lm(a ~ b + c + b*c)
这仍然是线性回归吗?
如何在R中进行其他类型的回归?我希望对教科书或教程有什么建议吗?
lm()
代表线性回归。您的模型包含,和的三个参数(减去截距)b
,c
它们的相互作用b:c
表示b + c + b:c
或b*c
简称(R遵循统计模型的Wilkinson表示法)。通过要求拟合通用线性模型(即,链接函数不是同一性,如上面表示的线性模型的情况)glm()
。
在R中,如果我写
lm(a ~ b + c + b*c)
这仍然是线性回归吗?
如何在R中进行其他类型的回归?我希望对教科书或教程有什么建议吗?
lm()
代表线性回归。您的模型包含,和的三个参数(减去截距)b
,c
它们的相互作用b:c
表示b + c + b:c
或b*c
简称(R遵循统计模型的Wilkinson表示法)。通过要求拟合通用线性模型(即,链接函数不是同一性,如上面表示的线性模型的情况)glm()
。
Answers:
线性是指您要估计的参数(例如)和结果(例如)之间的关系。因此,是线性的,但是不是线性的。线性模型意味着可以参数矢量的估计写为,其中是由估算过程确定的权重。线性模型可以以封闭形式代数求解,而许多非线性模型则需要使用计算机通过数值最大化来求解。
minitab.com上的这篇帖子提供了非常明确的解释:
Response = constant + parameter * predictor + ... + parameter * predictor
在将其作为“ R线性回归”问题而不是“线性回归”问题时,我会非常谨慎。R中的公式具有您可能知道或可能不知道的规则。例如:
http://wiener.math.csi.cuny.edu/st/stRmanual/ModelFormula.html
假设您要询问以下方程式是否为线性:
a = coeff0 + (coeff1 * b) + (coeff2 * c) + (coeff3 * (b*c))
如果您汇编一个新的自变量,则答案是肯定的,例如:
newv = b * c
将上面的newv方程替换为原始方程可能看起来像您对线性方程的期望:
a = coeff0 + (coeff1 * b) + (coeff2 * c) + (coeff3 * newv)
就引用而言,Google可以进行“ r回归”,或者您认为可能适用的任何方法。
a
四个系数的线性函数。
您可以将线性回归写为(线性)矩阵方程。
或者,如果您将此折叠起来:
这个线性回归等价于寻找线性矢量的组合,和最接近向量。
(这也是一种几何解释,即在向量,和的跨度上找到的投影。对于具有两个列向量的问题通过三个测量,仍然可以将其绘制为一个数字,例如,如下所示:http : //www.math.brown.edu/~banchoff/gc/linalg/linalg.html)b c b ∗ c
理解此概念在非线性回归中也很重要。例如,解决 比容易得多,因为第一个参数化允许用线性回归技术求解和系数。 y = u (e c (t - v ) + e d (t - v ))a b