【问题标题】:Polynomial regression in R with multiple predictors具有多个预测变量的 R 中的多项式回归
【发布时间】:2021-03-16 15:17:29
【问题描述】:

我想对我的数据使用多项式回归,但我有超过 10 个预测变量,并且我的样本的预测变量名称发生了变化。我还在下面的代码中对我的数据使用了线性回归:

 model_lm = lm(gene_expression ~ ., data = donor_snp_sample)
 summary_lm <- summary(model_lm)

我在代码中使用了"gene_expression ~ .",但我不知道如何在多项式回归中使用相同的格式。你能帮帮我吗?

非常感谢

【问题讨论】:

  • 目前还不清楚您要创建的具体模型。所有预测变量的线性和二次项? (我认为没有人应该用 10 个预测变量来做到这一点。改用惩罚平滑器。)

标签: r machine-learning linear-regression


【解决方案1】:

这个问题对于所需的具体模型模棱两可,但这是一种可能的模型,我们在每个自变量中独立地取二次方。

fo <- reformulate(sprintf("poly(%s, 2)", names(airquality)[-1]), "Ozone")
fo
## Ozone ~ poly(Solar.R, 2) + poly(Wind, 2) + poly(Temp, 2) + poly(Month, 
##     2) + poly(Day, 2)

lm(fo, na.omit(airquality))

给予:

Call:
lm(formula = fo, data = na.omit(airquality))

Coefficients:
      (Intercept)  poly(Solar.R, 2)1  poly(Solar.R, 2)2     poly(Wind, 2)1  
            42.10              64.80             -24.13            -124.10  
   poly(Wind, 2)2     poly(Temp, 2)1     poly(Temp, 2)2    poly(Month, 2)1  
            89.41             128.16              55.40             -18.45  
  poly(Month, 2)2      poly(Day, 2)1      poly(Day, 2)2  
           -32.10              27.20              11.87 

如果希望看到在输出的 Call: 行上写出的公式,也可以这样写。

do.call("lm", list(fo, quote(na.omit(airquality))))

给予:

Call:
lm(formula = Ozone ~ poly(Solar.R, 2) + poly(Wind, 2) + poly(Temp, 
    2) + poly(Month, 2) + poly(Day, 2), data = na.omit(airquality))

Coefficients:
      (Intercept)  poly(Solar.R, 2)1  poly(Solar.R, 2)2     poly(Wind, 2)1  
            42.10              64.80             -24.13            -124.10  
   poly(Wind, 2)2     poly(Temp, 2)1     poly(Temp, 2)2    poly(Month, 2)1  
            89.41             128.16              55.40             -18.45  
  poly(Month, 2)2      poly(Day, 2)1      poly(Day, 2)2  
           -32.10              27.20              11.87  

【讨论】:

    猜你喜欢
    • 2017-12-14
    • 1970-01-01
    • 2018-10-19
    • 2019-10-01
    • 2019-03-27
    • 2023-01-31
    • 2021-02-26
    • 1970-01-01
    相关资源
    最近更新 更多