User Tools

Site Tools


r:dummy_variable

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
r:dummy_variable [2023/06/05 12:03] hkimscilr:dummy_variable [2023/06/07 08:49] (current) – [output] hkimscil
Line 38: Line 38:
 2 = 47-80 2 = 47-80
 3 = 81-100 3 = 81-100
-    </code>+ 
 +</code> 
 +  * pct (%) of emer (emergency) credentials: Some states will grant an emergency certificate or permit at the request of a school district that has posted and failed to find a qualified candidate for a teacher vacancy. It typically allows the candidate to serve in a temporary capacity for the duration of a school year. 
 +  * pct (%) of full credentials: To be fully certified, it generally means that a teacher must have graduated from an accredited college, completed an approved teacher credential program and passed a test of their academic skills. 
 위의 각각의 변인 yr_rnd 그리고 mealcat 을 독립변인으로 하고 종속변인을 api00 으로 하여 simple regression을 한다. 그리고 이후 이 둘을 모두 이용하여 multiple regression을 한다. 즉,  위의 각각의 변인 yr_rnd 그리고 mealcat 을 독립변인으로 하고 종속변인을 api00 으로 하여 simple regression을 한다. 그리고 이후 이 둘을 모두 이용하여 multiple regression을 한다. 즉, 
  
Line 156: Line 160:
 회귀분석의 예측식은 (regression model) 다음과 같다. 회귀분석의 예측식은 (regression model) 다음과 같다.
 ''y hat = 684.54 - 160.51(yr_rndno_break) '' ''y hat = 684.54 - 160.51(yr_rndno_break) ''
 +  * yr_rndno_break: yr_rndno_break = 1
 +    * y hat = 684.54 - 160.51 * (1) 
 +    * y hat = 524.03
 +  * yr_rndbreak: yr_rndnobreak = 0
 +    * y hat = 684.54 - 160.51 * (0) 
 +    * y hat = 684.54 
 +
 위 회귀식에서 r은  위 회귀식에서 r은 
 ''y hat = a + bX'' 의 형식에서 ''X'' 로 ''no_break''를 썼음을 (yr_rndno_break) 알 수 있다. 이 경우에는 yr_rndno_break를 1로 넣어서 해석을 한다. 즉, no break일 경우에는  ''y hat = 684.54 - 160.51(1) '' 이라는 것이다. 반대로 break일 경우에는 뒤쪽 부분이 해당이 안되므로 ''0''으로 대체한다. 따라서 이 경우의 회귀식은 ''y hat = 684.54''이다. 이 둘을 비교해보면 no break일 경우에는    ''y hat = a + bX'' 의 형식에서 ''X'' 로 ''no_break''를 썼음을 (yr_rndno_break) 알 수 있다. 이 경우에는 yr_rndno_break를 1로 넣어서 해석을 한다. 즉, no break일 경우에는  ''y hat = 684.54 - 160.51(1) '' 이라는 것이다. 반대로 break일 경우에는 뒤쪽 부분이 해당이 안되므로 ''0''으로 대체한다. 따라서 이 경우의 회귀식은 ''y hat = 684.54''이다. 이 둘을 비교해보면 no break일 경우에는   
Line 216: Line 227:
 <code> <code>
 y hat = 805.718 - 166.324*mealcat47-80 - 301.338*mealcat81-100  y hat = 805.718 - 166.324*mealcat47-80 - 301.338*mealcat81-100 
 +mealcat0-46 (mg1 으로 대체)
 +mealcat47-80 (mg2 으로 대체)
 +maelcat81-100 (mg3 으로 대체)
 </code> </code>
  
 이에 대한 해석도 앞에서의 것과 마찬가지이다.  이에 대한 해석도 앞에서의 것과 마찬가지이다. 
-  * mealcat47-80 의 경우, +  * y hat = 805.718 166.324*mg2 301.338*mg3  
-    mealcat47-80 = 1 이고  +  mg1 = 1, mg2 = 0, mg3 = 0 일 경우 
-    mealcat81-100 = 0, 그리고  +    * y hat = 805.718 - 166.324*(0) - 301.338*(0) 
-    * 분석결과에는 없는 나머지 하나 즉  +    * y hat 805.718  
-    * mealcat0-46 = 0 으로 생각한다. 그래서 이경우는  +  * mg1 = 0, mg2 = 1, mg3 = 0 일 경우  
-    * ''y hat = 805.718 - 166.324 = 639.39'' 이다 +    * y hat 805.718 - 166.324*(1) - 301.338*(0) 
-  * mealcat81-100 의 경우에는  +    * y hat = 805.718 - 166.324 
-    * mealcat81-100 = 1 이고 나머지는 0 이다즉, +    * y hat 639.394 
-    * ''y hat = 805.718 - 301.338 504.38'' 이다+  * mg1 = 0, mg2 = 0, mg3 = 1 일 경우 
-  * mealcat0-41 의 경우에는 나머지 둘인  +    * y hat 805.718 166.324*(0) - 301.338*(1) 
-    * mealcat47-80 0 이고  +    * y hat = 805.718 - 301.338 
-    * mealcat81-100 = 이므로 회귀식은  +    * y hat = 504.38 
-    * ''y hat = 805.718 '' 임을 알 수 있다.  + 
-  * 즉, 무료급식의 퍼센티지가 높을 수로 api점수가 낮음을 알 수 있다. 이렇게 무료급식 퍼센티지를 독립변인으로 종속변인인 api00점수를 (학력점수) 봤을 때, 그 설명력이 통계학적으로 유효한가는 regression output에서 (summary(mod2)) +  * 즉, 무료급식의 퍼센티지가 높을 수록 api점수가 낮음을 알 수 있다. 이렇게 무료급식 퍼센티지를 독립변인으로 종속변인인 api00점수를 (학력점수) 봤을 때, 그 설명력이 통계학적으로 유효한가는 regression output에서 (summary(mod2)) 
     * F-value 와 p-value를 가지고 판단한다.      * F-value 와 p-value를 가지고 판단한다. 
       * (F (2, 397) = 611.1; p-value < 2.2e-16)       * (F (2, 397) = 611.1; p-value < 2.2e-16)
Line 241: Line 255:
       * 0.7548 즉, 75.48% 를 독립변인이 종속변인을 설명한다 (상당한 크기임을 알 수 있다).       * 0.7548 즉, 75.48% 를 독립변인이 종속변인을 설명한다 (상당한 크기임을 알 수 있다).
  
-====== Two categorical variables ======+===== mod3 ← lm(api00 ~ yr_rnd + mealcat, data datavar) ===== 
 <code> <code>
 > mod3 <- lm(api00 ~ yr_rnd + mealcat, data=datavar)  > mod3 <- lm(api00 ~ yr_rnd + mealcat, data=datavar) 
Line 288: Line 303:
  
 ^                 ^ mealcat0-46  ^ mealcat47-80   ^ mealcat81-100    ^  ^                 ^ mealcat0-46  ^ mealcat47-80   ^ mealcat81-100    ^ 
-| yr_rndbreak     | <wrap> yr_rndno_break = 0+| yr_rndbreak     | <wrap> yr_rndbreak = 1 
 +yr_rndno_break = 0 
 +mealcat0-46 = 1
 mealcat47-80 = 0 mealcat47-80 = 0
 mealcat81-100 = 0 경우 mealcat81-100 = 0 경우
 ''y hat = 808.013''          ''y hat = 808.013''         
-</wrap>  | <wrap> yr_rndno_break = 0+</wrap>  | <wrap> yr_rndbreak = 1 
 +yr_rndno_break = 0
 mealcat0-46 = 0 mealcat0-46 = 0
 +mealcat47-80 = 1
 mealcat81-100 = 0 경우   mealcat81-100 = 0 경우  
-''y hat = 808.013 - 163.737 = 644.276'' +''**y hat = 808.013 - 163.737 = 644.276**'' 
-</wrap>  | <wrap> yr_rndno_break = 0    +</wrap>  | <wrap> yr_rndbreak = 1 
 +yr_rndno_break = 0
 mealcat0-46 = 0 mealcat0-46 = 0
-mealcat47-80 = 0 경우 +mealcat47-80 = 0 
-''y hat = 808.013 - 281.683 = 526.33''+mealcat81-100 = 1 경우 
 +''**y hat = 808.013 - 281.683 = 526.33**''
 </wrap>  | </wrap>  |
 | yr_rndno_break  | <wrap> yr_rndbreak = 0 | yr_rndno_break  | <wrap> yr_rndbreak = 0
 +yr_rndno_break = 1
 +mealcat0-46 = 1
 mealcat47-80 = 0 mealcat47-80 = 0
 mealcat81-100 = 0 경우 mealcat81-100 = 0 경우
-''y hat = 808.013 - 42.960 = 765.053''         +''**y hat = 808.013 - 42.960 = 765.053**''         
 </wrap>  | <wrap> yr_rndbreak = 0 </wrap>  | <wrap> yr_rndbreak = 0
 +yr_rndno_break = 1
 mealcat0-46 = 0 mealcat0-46 = 0
-mealcat81-100 = 0 경우   +mealcat47-80 = 1 
-''y hat = 808.013 - 42.960 - 163.737 = 601.316'' +mealcat81-100 = 0 경우  
-</wrap>  | <wrap> yr_rndbreak = 0    +''**y hat = 808.013 - 42.960 - 163.737 = 601.316**'' 
 +</wrap>  | <wrap> yr_rndbreak = 0 
 +yr_rndno_break = 1
 mealcat0-46 = 0 mealcat0-46 = 0
-mealcat47-80 = 0 경우 +mealcat47-80 = 0 
-''y hat = 808.013 - 42.960 - 281.683 = 483.37''+mealcat81-100 = 1 경우 
 +''**y hat = 808.013 - 42.960 - 281.683 = 483.37**''
 </wrap>  | </wrap>  |
  
-====== 상호작용효과를 고려한 분석 ====== + 
 +===== mod4 ← lm(api00 ~ yr_rnd * mealcat, data datavar) ===== 
 <code> <code>
 > mod4 <- lm(api00 ~ yr_rnd + mealcat + yr_rnd:mealcat, data=datavar)  > mod4 <- lm(api00 ~ yr_rnd + mealcat + yr_rnd:mealcat, data=datavar) 
Line 464: Line 493:
 마지막 두 케이스를 보면 no_break학교 중에서 밀카테고리 2와 3에서 떨어지는 정도가 어느 정도 완화되는 경향을 보이지만 통계학적으로 significant하지는 않다.  마지막 두 케이스를 보면 no_break학교 중에서 밀카테고리 2와 3에서 떨어지는 정도가 어느 정도 완화되는 경향을 보이지만 통계학적으로 significant하지는 않다. 
 [[:r:dummy variables with significant interaction|다른 예]] [[:r:dummy variables with significant interaction|다른 예]]
 +
 +<code>
 +> summ(mod4)
 +MODEL INFO:
 +Observations: 400
 +Dependent Variable: api00
 +Type: OLS linear regression 
 +
 +MODEL FIT:
 +F(5,394) = 261.61, p = 0.00
 +R² = 0.77
 +Adj. R² = 0.77 
 +
 +Standard errors: OLS
 +--------------------------------------------------------------------
 +                                        Est.    S.E.   t val.      p
 +---------------------------------- --------- ------- -------- ------
 +(Intercept)                           809.69    6.18   130.91   0.00
 +yr_rndno_break                        -74.26   26.76    -2.78   0.01
 +mealcat47-80                         -164.41    8.88   -18.52   0.00
 +mealcat81-100                        -288.19   10.44   -27.60   0.00
 +yr_rndno_break:mealcat47-80            22.52   32.75     0.69   0.49
 +yr_rndno_break:mealcat81-100           40.76   29.23     1.39   0.16
 +--------------------------------------------------------------------
 +
 +</code>
 +<code>
 +cat_plot(mod4, pred=yr_rnd, modx=mealcat)
 +cat_plot(mod4, pred=yr_rnd, modx=mealcat, plot.points = TRUE)
 +</code>
 +{{:r:pasted:20230607-082841.png}}
 +{{:r:pasted:20230607-082903.png}}
 +
 +<code>
 +cat_plot(mod4, pred=yr_rnd, modx=mealcat, geom = line)
 +cat_plot(mod4, pred=yr_rnd, modx=mealcat, geom = "line", point.shape = TRUE)
 +cat_plot(mod4, pred=yr_rnd, modx=mealcat, geom = "line", point.shape = TRUE, vary.lty = TRUE)
 +</code>
 +{{:r:pasted:20230607-082945.png}}
 +{{:r:pasted:20230607-083044.png}}
 +{{:r:pasted:20230607-083128.png}}
 +
 ====== continus + categorical variables ====== ====== continus + categorical variables ======
 <code> <code>
Line 680: Line 751:
 </code> </code>
 {{:r:pasted:20230531-085237.png}} {{:r:pasted:20230531-085237.png}}
 +<code> 
 +> interact_plot(mod6, pred=some_col, modx=yr_rnd, geom = "line", plot.points = TRUE) 
 +</code> 
 +{{:r:pasted:20230607-084836.png}}
r/dummy_variable.1685934237.txt.gz · Last modified: 2023/06/05 12:03 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki