R线性回归分类变量“隐藏”值


10

这只是我多次遇到的示例,因此我没有任何示例数据。在R中运行线性回归模型:

a.lm = lm(Y ~ x1 + x2)

x1是一个连续变量。x2是分类的,具有三个值,例如“低”,“中”和“高”。但是,R给出的输出将类似于:

summary(a.lm)
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)   0.521     0.20       1.446   0.19        
x1            -0.61     0.11       1.451   0.17
x2Low         -0.78     0.22       -2.34   0.005
x2Medium      -0.56     0.45       -2.34   0.005

我知道R在这种因素(x2是一个因素)上引入了某种虚拟编码。我只是想知道,如何解释x2“高”值?例如,x2在此处给出的示例中,“ High” 对响应变量有什么影响?

我在其他地方(例如这里)已经看到了这样的示例,但是还没有找到我能理解的解释。

r  regression  categorical-data  regression-coefficients  categorical-encoding  machine-learning  random-forest  anova  spss  r  self-study  bootstrap  monte-carlo  r  multiple-regression  partitioning  neural-networks  normalization  machine-learning  svm  kernel-trick  self-study  survival  cox-model  repeated-measures  survey  likert  correlation  variance  sampling  meta-analysis  anova  independence  sample  assumptions  bayesian  covariance  r  regression  time-series  mathematical-statistics  graphical-model  machine-learning  linear-model  kernel-trick  linear-algebra  self-study  moments  function  correlation  spss  probability  confidence-interval  sampling  mean  population  r  generalized-linear-model  prediction  offset  data-visualization  clustering  sas  cart  binning  sas  logistic  causality  regression  self-study  standard-error  r  distributions  r  regression  time-series  multiple-regression  python  chi-squared  independence  sample  clustering  data-mining  rapidminer  probability  stochastic-processes  clustering  binary-data  dimensionality-reduction  svd  correspondence-analysis  data-visualization  excel  c#  hypothesis-testing  econometrics  survey  rating  composite  regression  least-squares  mcmc  markov-process  kullback-leibler  convergence  predictive-models  r  regression  anova  confidence-interval  survival  cox-model  hazard  normal-distribution  autoregressive  mixed-model  r  mixed-model  sas  hypothesis-testing  mediation  interaction 

3
您可能会在这里得到一个很好的答案,但是我将标记为向stats.SE迁移,因为该问题的答案实质上归结为了解线性回归的工作原理。
joran 2012年

是的,这很公平。如果我自己删除并移动它会更好吗?还是那是不必要的?

1
您不需要做任何事情。我标记了它,但是修改可能需要一两个小时才能完成,这是星期天。
joran 2012年

3
我不会在这里提供答案,因为问题将被转移。但是您可以尝试一些事情以了解发生了什么:1.运行lm(Y〜x1 + x2-1)。“ -1”将删除截距。2.使用relevel更改x2的引用类别。
Manoel Galdino 2012年

Answers:


14

问:“ ...如何解释x2值“ High”?例如,在此处给出的示例中,“ High” x2s对响应变量有什么影响?

答:您无疑会注意到输出中没有提到x2 =“ High”。此时,x2High被选择为“基本情况”。这是因为您提供了一个因子变量,该变量具有默认的水平编码,尽管排序对人脑而言更自然地是L / M / H。但是,R在词法上在字母“ L”和“ M”之前都被R选择为基本情况。

由于未对“ x2”进行排序,因此每个报告的对比度都相对于x2 =“ High”,因此,相对于x2 =“ High”,x2 ==“ Low”估计为-0.78。目前,截距是x2 =“ High”和x1 = 0时的“ Y”估计值。您可能想在更改级别顺序后重新运行回归(但不对因子进行排序)。

x2a = factor(x2, levels=c("Low", "Medium", "High"))

然后,您的“中”和“高”估计值将更加符合您的期望。

编辑:有其他编码安排(或更准确地说是模型矩阵的安排。)R中对比的默认选择是“处理对比”,它指定一个因子水平(或因子水平的一种特定组合)作为参考水平并报告其他级别或组合的估计平均差异。但是,可以通过将“截距”强制为0(不推荐)或使用其他对比度选择之一来将参考水平设为整体平均水平:

?contrasts
?C   # which also means you should _not_ use either "c" or "C" as variable names.

您可以为不同的因素选择不同的对比,尽管这样做似乎会增加额外的解释负担。S-Plus默认情况下使用Helmert对比,而SAS使用治疗对比,但选择最后一个因子水平而不是第一个因子水平作为参考水平。


这就说得通了。我想显然x2不可能没有“无价值”,因为它必须是“高”,“中”或“低”之一。感谢您的回答。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.