簡體   English   中英

為什么結果變量在線性回歸匯總表中顯示為系數?

[英]Why is the outcome variable appearing as a coefficient in the summary table of the linear regression?

我正在使用食譜進行線性回歸,以根據職等(副教授,助理教授和正教授),性別,學科(應用或理論的),服務年限以及博士學位以來的年限預測薪水。 該數據集在汽車包裝中。

我創建了虛擬變量,並將因果變量轉換為更正常的形狀。 我已經將服務年限和博士以來的年限標准化為0到1之間的值。

salary.split <- initial_split(salary.df)

sal.train <- training(salary.split)
sal.test <- testing(salary.split)

sal.recipe <- recipe(salary ~ ., data = salary.df) %>% 
  step_log(salary) %>% 
  step_dummy(all_nominal()) %>% 
  step_range(yrs.since.phd) %>% 
  step_range(yrs.service)


sal.rec <- prep(sal.recipe, training = sal.train) %>% bake(new_data = sal.train)

sal.lm <- lm(sal.rec)

summary(sal.lm)

結果匯總:

Call:
lm(formula = sal.rec)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.17727 -0.05780 -0.01406  0.04221  0.34499 

Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -0.3052564  0.3240025  -0.942  0.34690    
yrs.service    0.8054404  0.0292577  27.529  < 2e-16 ***
salary         0.0375859  0.0285323   1.317  0.18877    
rank_AsstProf -0.0528260  0.0184926  -2.857  0.00459 ** 
rank_Prof      0.0740925  0.0174977   4.234 3.08e-05 ***
discipline_B  -0.0438070  0.0107863  -4.061 6.28e-05 ***
sex_Male       0.0006626  0.0165779   0.040  0.96815    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.08639 on 291 degrees of freedom
Multiple R-squared:  0.8656,    Adjusted R-squared:  0.8628 
F-statistic: 312.2 on 6 and 291 DF,  p-value: < 2.2e-16

當我查看變量信息( sal.recipe$var_info )時:

# A tibble: 6 x 4
  variable      type    role      source  
  <chr>         <chr>   <chr>     <chr>   
1 rank          nominal predictor original
2 discipline    nominal predictor original
3 yrs.since.phd numeric predictor original
4 yrs.service   numeric predictor original
5 sex           nominal predictor original
6 salary        numeric outcome   original

這表明薪水是結果,而不是預測因素。 當我查看線性模型的摘要信息時,工資為什么會顯示為系數?

在這種情況下,sal.recipe不是模型對象(就像我想的那樣),而僅僅是一個數據框。 配方用於將轉換應用於數據,並且不會自動構造公式。 在這種情況下,將sal.recipe傳遞給lm只是傳遞一個數據幀,這就是造成混亂的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM