---
# System prepended metadata

title: Week    08    課後練習
tags: [layout-note, 量化資料分析-北大]

---

---
title: Week08 課後練習 @ 2022. 秋 量化資料分析
tags: 量化資料分析-北大,layout-note
---





<div style="text-align: center">

<h1>Week    08    課後練習</h1>

</div>


## 問題一：
:::info
請使用 2011 年社會變遷調查健康組調查資料，回答以下問題：
上網時間會影響bmi嗎？如果控制了年齡，上網時間對bmi的影響有改變嗎？為什麼改變？在這裡，為什麼需要控制年齡？
- BMI：`bmi`
- 上網時數：`online_hour`（單位：小時）
- 年齡：`age`
請解釋結果
```c=
// 匯入資料

gen touse_w8 =! missing(bmi, online_hour, age)
// 翻譯：我要創造一個變數叫做 touse_w8 ，這個變數的數值會「不等於」bmi online_hour age 的遺漏值


use 2011health_w3.dta

gen touse_w8 =! missing(bmi, online_hour, age)
reg bmi online_hour if touse_w8 == 1
// reg → 迴歸
// reg [DV] [IV1] [IV2] [...]
    // dv 依變項→就是你要分析的東西
    // iv → 自變項→你要用什麼去分析她
    // if ... 的意思是前面這一串命令要滿足「if」後面的條件
    // touse_w8 == 1，reg 要執行的時候，只會考慮 touse_w8 為 1的資料。
reg bmi online_hour age if touse_w8 == 1

```
:::

:::success
```
. reg bmi online_hour if touse_w8 == 1

      Source |       SS           df       MS      Number of obs   =     1,233
-------------+----------------------------------   F(1, 1231)      =      0.00
       Model |  .000240748         1  .000240748   Prob > F        =    0.9968
    Residual |  18367.1088     1,231  14.9204783   R-squared       =    0.0000
-------------+----------------------------------   Adj R-squared   =   -0.0008
       Total |   18367.109     1,232  14.9083677   Root MSE        =    3.8627

------------------------------------------------------------------------------
         bmi |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
 online_hour |   .0001626   .0404908     0.00   0.997    -.0792759    .0796012
       _cons |   23.18729   .1575138   147.21   0.000     22.87826    23.49631
------------------------------------------------------------------------------

. reg bmi online_hour age if touse_w8 == 1

      Source |       SS           df       MS      Number of obs   =     1,233
-------------+----------------------------------   F(2, 1230)      =     32.60
       Model |  924.723055         2  462.361527   Prob > F        =    0.0000
    Residual |   17442.386     1,230  14.1808016   R-squared       =    0.0503
-------------+----------------------------------   Adj R-squared   =    0.0488
       Total |   18367.109     1,232  14.9083677   Root MSE        =    3.7657

------------------------------------------------------------------------------
         bmi |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
 online_hour |   .1135899    .041899     2.71   0.007     .0313885    .1957912
         age |   .0718951   .0089032     8.08   0.000     .0544281    .0893622
       _cons |   20.23293    .396774    50.99   0.000      19.4545    21.01136
------------------------------------------------------------------------------

```
僅納入上網時數（online_hour）並未能對bmi提供解釋力，從R-squared 可知回歸模型幾乎無法解釋依變數（bmi）的變異量，而從上網時數的 coef 也可以發現，上網時數對bmi的影響係數很低（約為萬分之一），且這個影響並不顯著；換言之，我們無法排除上網時數對bmi值沒有影響的假說（H0）。

而在納入年齡（age）之後，整體模型的解釋力達到顯著水準（F 值32.6，F 檢定的P值小於0.0001），換言之，若納入年齡和上網時數仍無法提供對bmi的解釋力，只有小於0.0001的機率會得到此結果，因此我們可以拒絕虛無假設。而在模型中上網時數因為納入年齡而變得顯著，上網時數對bmi的影響係數為0.1136，且這樣的影響達到顯著（p值小於0.05），換言之若上網時數對bmi沒有影響，我們只有小於0.007的機率會得到0.1136或者更大的影響。這樣的機率過小，因此我們可以拒絕虛無假設。

而從coef的值來看，在年齡相同的前提下，上網時數每增加 1 個小時，便會增加 bmi 值0.1136。

而年齡對bmi的影響係數為0.072，且這樣的影響達到顯著（p值小於0.05），換言之若年齡對bmi沒有影響，我們只有小於0.0001的機率會得到0.072或者更大的影響。這樣的機率過小，因此我們可以拒絕虛無假設。

而從coef的值來看，在上網時數相同的前提下，年齡每增加 1 歲，便會增加 bmi 值 0.072。

換言之，只從上網時數來看我們無法解釋對bmi的影響，但納入年齡進行控制之後，可以發現控制年齡可以控制不同年齡之間的bmi差異，藉此上網時數對於bmi的影響才會顯現。

:::

## 問題二（算算看）
:::info
請估算以下的 F value、以及 R-squared value。
```
. reg work_hour eduyear if age>= 18 & age <= 65
```

|Source|SS|df|MS|
|---:|---:|----:|----:|
|Model|24443.0903|1|24443.0903|
|Residual|1144462.15|1778|643.679498|
|Total|1168905.24|1779|657.057469|
:::

:::success
<iframe src="https://docs.google.com/spreadsheets/d/e/2PACX-1vR4BlZX7fylvjPD5gMQcy4Q_7JcJZfxb443sy66zsyC9TzzrUcK5V6ctiMXJTu9J2LRhAGwDr6NNNo-/pubhtml?gid=953110692&amp;single=true&amp;widget=true&amp;headers=false" width = 100% height = 450></iframe>
:::


## 問題三：（算算看）
:::info
教育、性別、婚姻狀況會影響每週工作時數嗎？
請根據下列回歸結果：
- 解釋線性多元回歸結果
- 計算（寫出回歸公式）：
    - a. 已婚男性，且教育年數為 16 年者，其平均每週工作時數？
    - b. 未婚女性，且教育年數為 18 年者，其平均每週工作時數？
- 工作時數：`work_hour`
- 性別：`gender`
- 婚姻狀態：`marital`（以沒結過婚為參照組）
- 教育年數：`eduyear`
:::

:::success
從表格中可知，在考量性別（female）、婚姻狀況（coupled、other）以及教育年數（eduyear）後，整體模型達到顯著水準（F 值為 22.23，F檢定的P值小於0.0001）；換言之，若納入上述變數無法解釋工作時數，只有小於萬分之一甚至更小的機率能夠得到這樣的結果，換言之，我們可以推翻虛無假設，工作時數能夠被性別、婚姻狀況與教育年數所解釋。

而模型的R平方為0.0432，換言之，納入上述變數的模型約可以解釋變異量的4%。

納入的四個變數中，教育年數在控制婚姻狀況與性別後對於工作時數的解釋未達到顯著，而性別與婚姻狀況則能顯著影響工作時數。相較於男性，女性的工作時數會減少5.8個小時；而相較於未婚者，已婚者的工時會增加6.64個小時，而其他婚姻狀況則會增加6.55個小時。

以下我們以「受過16年教育的已婚男性」與「受過18年教育的未婚女性」來進行比較：
受過16年教育的已婚男性，其工時為：
```
= -5.8135 * (0) + 6.6404 * (1) + 6.5581 * (0) + 0.0454 * (16) + 42.2228
= 49.5896 (小時)
```
受過18年教育的未婚女性，其工時為：
```
= -5.8135 * (1) + 6.6404 * (0) + 6.5581 * (0) + 0.0454 * (18) + 42.2228
= 37.2265 (小時)
```

從上分析可以得知，受過16年教育的已婚男性，每週工時約為56.15小時，而受過18年教育的未婚女性，每週工時則只有37.23小時；可見性別因素以及婚姻狀況對於工作時數的影響。

:::
## 問題四：（請自行寫語法）
:::info
請使用 2015work_w8.dta 社會變遷工作組調查資料，回答以下問題：

世代正義是長久以來頗受爭議的社會議題，有些論述認為某些世代（或年齡層）獲得更多的國家資源與經濟利益，也有論述認為機會結構對某些世代更有利。以經濟資源來說，有些人認為六十歲或者年紀更大的人還在工作，就是搶走了年輕人的工作機會。個人的社會位置會影響這樣的看法嗎？在這裡以工作類別、年齡、教育年數為自變項。
- 依變項：`work_just`（回答：1=strongly disagree, 5=strongly agree）
- 自變項：工作類別、年齡層、教育年數
- 工作類別：`work_type`（1=continuous, 2=fixed term, 3=irregular, 4=self-employed, 5=non-employed）
- 年齡層：`agegp`（1=19-29, 2=30-39, 3=40-49, 4=50-59, 5=60-69, 6=70+）
- 教育年數：`eduyear`
- 請設定假設檢定（t test 和 F test），解釋結果
:::

==問題：年紀大的人是否會搶走年輕人的工作→依變數==→「世代正義」

- 工作狀態 iv
- 年齡 iv
- 教育年數 iv

#### why we need H$_{0}$ and H$_{a}$

我們要怎麼討論「世代正義」？

因為我們想要知道世代正義會被什麼給影響，所以我們需要進行推論統計

1. 推論的現象：世代正義的影響因素→H$_{a}$
2. 在推論之前我們要先假定，這些我們考量的因素「實際上沒有作用」→ H$_{0}$


H$_{0}$
- 納入工作類別、年齡差異以及教育程度差異等因素，不會解釋（不會影響）世代正義的看法
- 工作類別（不會）影響世代正義
- 年齡差異（不會）影響世代正義
- 受教育的程度（不會）影響世代正義

H$_{a}$
- 納入工作類別、年齡差異以及教育程度差異等因素，會解釋（會影響）世代正義的看法
- 工作類別（會）影響世代正義
- 年齡差異（會）影響世代正義
- 受教育的程度（會）影響世代正義

```c=
use "2015work_w8.dta", clear
preserve
// 設立 touse 來排除遺漏值
drop touse
gen touse =! missing(work_just, work_type, agegp, eduyear)

// 迴歸分析，記得排除遺漏值

reg work_just i.work_type i.agegp eduyear if touse == 1
restore
```
:::success
~~~
. reg work_just i.work_type i.agegp eduyear if touse == 1

      Source |       SS           df       MS      Number of obs   =     1,991
-------------+----------------------------------   F(10, 1980)     =      6.94
       Model |  78.9142964        10  7.89142964   Prob > F        =    0.0000
    Residual |  2250.29012     1,980  1.13651016   R-squared       =    0.0339
-------------+----------------------------------   Adj R-squared   =    0.0290
       Total |  2329.20442     1,990  1.17045448   Root MSE        =    1.0661

--------------------------------------------------------------------------------
     work_just |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
---------------+----------------------------------------------------------------
     work_type |
        fixed  |  -.1180484   .1178762    -1.00   0.317    -.3492229     .113126
    irregular  |  -.0811399   .0947075    -0.86   0.392    -.2668768     .104597
self_employed  |  -.1842307   .0784091    -2.35   0.019    -.3380037   -.0304578
 non_employed  |   .1572579   .0662745     2.37   0.018     .0272828    .2872329
               |
         agegp |
      30-39歲  |  -.1270542   .0782017    -1.62   0.104    -.2804205    .0263122
      40-49歲  |  -.0509136     .08074    -0.63   0.528    -.2092578    .1074306
      50-59歲  |   .0314169   .0818816     0.38   0.701    -.1291663    .1920001
      60-69歲  |     .16713   .0936407     1.78   0.074    -.0165147    .3507747
   70歲及以上  |   .3301467   .1146936     2.88   0.004     .1052139    .5550796
               |
       eduyear |   .0048424   .0066584     0.73   0.467    -.0082157    .0179006
         _cons |   2.301395   .1200199    19.18   0.000     2.066016    2.536773
--------------------------------------------------------------------------------
~~~
為了檢測世代正義是否會被被工作狀況、年齡層以及教育年數給解釋，我們可以針對整體模型設立虛無假說：
> H0: 納入工作狀況、年齡層以及教育年數仍無法解釋世代正義的變異量

相反地，對立假說即是認為工作狀況、年齡層以及教育年數會影響世代正義：
> Ha: 納入工作狀況、年齡層以及教育年數可以解釋世代正義的變異量

納入工作狀況、年齡層以及教育年數的模型，能顯著解釋世代正義（work_just），整體模型的F檢定的P值遠小於0.0001，換言之，若納入工作狀況、年齡層以及教育年數仍無世代正義無關連，只有不到0.0001的機率可以得到這樣的結果，其機率過低，因而我們可以拒絕虛無假設。

此外整體模型的R平方值為0.0339，代表考量上述因素後可以解釋依變項（世代正義）約3%的變異量。

而進一步針對模型中納入的各項變數設立虛無假設，並進行推論分析：

> H0-1:工作狀況不會影響世代差異的看法
> H0-2:年齡層不會影響世代正義的看法
> H0-3:教育年數不會影響世代正義的看法

相對的，設立對立的研究假說：
> Ha-1:工作狀況會影響世代差異的看法
> Ha-2:年齡層會影響世代正義的看法
> Ha-3:教育年數會影響世代正義的看法

而從回歸模型的分析中可以看見，在納入控制後，工作狀態、年齡層以及教育年數對於世代正義的影響。首先在工作狀態上，相較於全職工作者，自雇者和無業者有達到顯著水準（自雇者：p = 0.019；無業者：p = 0.018），而其他工作狀態則與全職工作者無顯著差異。相較於全職工作者，自雇者更傾向反對高齡者會搶走年輕人的工作機會；而無業者則更傾向認為高齡者不會搶走年輕人的工作機會。

對於世代正義的看法也能在年齡層的分析中看見，70歲及以上的高齡者相較於19-29歲的年輕人，更傾向認為高齡者會搶走年輕人的工作機會（70歲及以上的顯著水準則小於0.004）。

最後，教育年數在經過控制之後對世代正義的看法並不顯著。

綜上所述，可以發現對於世代正義（特別是在職場上的世代正義）出現在工作狀況以及年齡差異中。自雇者由於是自己當老闆，相較於受僱者來說會更認為工作機會是自己創造的，因此不認同職場上存在世代正義的問題。

最後，而高齡者由於在職場上多半相較於年輕人更認為職場上存在世代差異，可能是因為在職場的經歷較久，對於職場環境中對年輕人的差別待遇非常了解，因此會比起年輕人更傾向認同職場中存在世代正義的課題。
:::

















































 