首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变量选择与模型选择

变量选择与模型选择
EN

Stack Overflow用户
提问于 2018-07-22 09:17:33
回答 1查看 531关注 0票数 2

我有一个疾病数据集,用于此数据集。disease_rate是依赖变量,rest独立变量。

代码语言:javascript
复制
data <- read.csv("H:/uni/MS_DS/disease.csv")
data

> data
         radius      texture perimeter   area smoothness desease_rate
1  -0.018743998  0.002521470 -0.005025 0.0710 0.00000000         0.07
2  -0.027940652  0.003164681 -0.004625 0.0706 0.06476967         0.02
3   0.002615946  0.001328688 -0.005525 0.0726 0.06268457         0.07
4   0.041963329  0.002769471 -0.004325 0.0699 0.06013138         0.06
5   0.030261380  0.005725780 -0.003525 0.0695 0.05942403         0.04
6  -0.030559594  0.001576348 -0.002525 0.0695 0.06110087         0.05
7   0.002698690 -0.003028856 -0.006025 0.0706 0.06207810         0.07
8  -0.044996901  0.000617110 -0.009525 0.0691 0.05940039         0.05
9   0.022993350 -0.000637109 -0.015425 0.0695 0.05870643         0.03
10  0.001398530 -0.000470057 -0.017125 0.0705 0.05540871         0.01
11  0.026827990  0.000509490 -0.014025 0.0681 0.05588225         0.06
12 -0.076220726  0.001018820 -0.010225 0.0631 0.05515852         0.01
13 -0.021917789  0.000822517 -0.003925 0.0576 0.05584590         0.03
14  0.012491060 -0.007363090  0.005175 0.0569 0.05120000         0.03
15  0.038281834 -0.008005798  0.014975 0.0576 0.04940000         0.06
16 -0.033198384  0.000350052  0.022875 0.0564 0.04930000         0.01
17 -0.002358179  0.003846831  0.022675 0.0572 0.05050000         0.07
18  0.020808766  0.000536629  0.024575 0.0656 0.04820000         0.04
19  0.091888897 -0.002393641  0.009775 0.0761 0.04740000         0.07
20 -0.036293550 -0.002889337  0.001775 0.0828 0.04770000         0.01

#Multiple Linear Model - fitting the model. 
multilinearmodel = lm(desease_rate ~ radius + texture + perimeter + area +                                 
smoothness, data = df1)
summary(multilinearmodel)

Call:
lm(formula = desease_rate ~ radius + texture + perimeter + area + 
    smoothness, data = df1)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.032172 -0.013960 -0.004256  0.013622  0.033051 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept)  0.06616    0.06155   1.075   0.3006  
radius       0.33809    0.14270   2.369   0.0327 *
texture      1.16524    1.54157   0.756   0.4623  
perimeter   -0.02464    0.46819  -0.053   0.9588  
area        -0.06218    0.82411  -0.075   0.9409  
smoothness  -0.36014    0.38102  -0.945   0.3606  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.0219 on 14 degrees of freedom
Multiple R-squared:  0.3298,    Adjusted R-squared:  0.09049 
F-statistic: 1.378 on 5 and 14 DF,  p-value: 0.2909

> #Anova test.  
> anova(multilinearmodel)
Analysis of Variance Table

Response: desease_rate
           Df    Sum Sq    Mean Sq F value  Pr(>F)  
radius      1 0.0026031 0.00260313  5.4272 0.03531 *
texture     1 0.0002587 0.00025868  0.5393 0.47484  
perimeter   1 0.0000134 0.00001340  0.0279 0.86964  
area        1 0.0000012 0.00000118  0.0025 0.96109  
smoothness  1 0.0004285 0.00042853  0.8934 0.36058  
Residuals  14 0.0067151 0.00047965                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

> # AIC
> AIC(multilinearmodel)
[1] -89.2251

> # BIC
> BIC(multilinearmodel)
[1] -82.25498

这里只有半径有一个p值-P <= 0.05,其余所有变量的p值都大于那个半径。

在这种情况下,有没有办法进行变量选择?因为rest所有其他变量都有更大的p值。

如果有任何我们可以做的变量选择,请建议。另外,请帮助我提取这个模型的model值。

请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-22 10:58:42

变量和模型选择在很大程度上取决于模型的用途。至于一般规则,以下概括可能有助于记住:

  • 保持变量既在数量上有意义,又有统计意义。你正确地识别出半径在统计学上是有意义的。它在数量上也是有意义的(我们可以看到这一点,因为它的系数0.33809不是≈0),所以你肯定会保留这个变量。
  • 判断是否保留或省略数量上有意义但在统计上没有意义的回归项。这些变量将取决于模型的目的--准确性最重要吗?你是否想避免某一结果(例如预测、假阳性等)。“纹理”,在某种程度上,“平滑度”,都有很高的系数,但也有很高的p值,所以它们属于这一类。尝试使用和不使用它们的模型,并检查结果。另外,如果您的数据集很小,请考虑是否存在已知的依赖关系--如果存在,您可能希望将这些变量保留在模型中。
  • 当回归函数既具有较弱的统计意义(即高p值),又具有较小的系数(如“周长”和“面积”)时,通常从模型中忽略它们。

为了得到玛洛的Cp:

代码语言:javascript
复制
fit <- lm(formula = desease_rate ~ radius + texture + perimeter + area + smoothness, data = df1)
library(locfit)
cp(fit)

您可以看到文档这里

为你制造的每一种型号找到马洛的Cp

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51463629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档