本論文研究面板資料(Panel Data)下的有限混合自回歸模型(Finite Mixture AR Model),提出兩種模型架構,並以 EM 演算法進行參數估計,搭配有母數拔靴法(Parametric Bootstrap)建構推論程序。並以德國長期選舉研究(GLES)與 CPI 資料進行實證分析。
每個個體
- 狀態
$s_{it}$ 在每個$(i,t)$ 獨立抽取 - 個體效應
$u_i \sim \mathcal{N}(0, \sigma_u^2)$
每個個體
- 個體類別
$s_i$ 固定不變(latent class membership) - 去均值(within-individual demeaning)消除固定效應
待估參數:$\boldsymbol{\pi}$(混合比例)、$\boldsymbol{\phi}_k$(AR 係數)、$\boldsymbol{\beta}_k$(外生變數係數)、$\sigma_k^2$(狀態特定誤差變異數)
thesis/
├── Type1 code/ # Type 1 模型相關程式
│ ├── Type1生資料.R # 真值生成 + 資料模擬 + EM 主函數
│ ├── Type1跑EM.R # 並行跑 EM(future 套件)
│ ├── Type1跑BS.R # 有母數拔靴法(Bootstrap)
│ ├── Type1畫資料圖.R # 資料視覺化
│ ├── Type1_Sec3.1/ # Section 3.1:固定 T=100,變化 N 的模擬結果
│ │ ├── Sec3.1畫圖.R # RMSE 比較圖
│ │ └── *.png / *.pdf # 輸出圖檔
│ ├── Type1_Sec3.2/ # Section 3.2:固定 N=1000,變化 T 的模擬結果
│ └── by個體有母數/ # 有母數拔靴(個體重抽)實驗結果
│
├── Type2 code/ # Type 2 模型相關程式
│ ├── Type2生資料.R # 真值生成 + 資料模擬 + EM 主函數(CFE版)
│ ├── Type2跑EM.R # 並行跑 EM
│ ├── Type2畫資料圖.R # 資料視覺化
│ ├── Type2_Sec3.1/ # 模擬結果(固定 T,變化 N)
│ ├── Type2_Sec3.2/ # 模擬結果(固定 N,變化 T)
│ └── by時間有母數/ # 有母數拔靴(時間重抽)實驗結果
│ └── 有母數拔靴主程式.R
│
├── 實證資料分析/ # 實際資料分析
│ ├── code/
│ │ ├── RealDataAnalysis_Preprocessing.R # GLES + CPI 資料清理
│ │ ├── RealDataAnalysis_WLS.R # 加權最小平方分析
│ │ ├── Type 1/ # Type 1 實證分析(含/不含地區效果)
│ │ └── Type 2/ # Type 2 實證分析(含/不含地區效果)
│ ├── figure/ # 輸出圖檔(折線圖、PCA 等)
│ └── results/
│ ├── raw data/ # GLES 原始 Stata 檔(ZA7728–ZA7733)+ CPI
│ └── *.rds # EM/BS 結果
│
└── 有母數拔靴法各種圖.R # 拔靴結果綜合視覺化(偏誤、標準誤比較圖)
| 實驗 | 固定 | 變化 | 樣本數 |
|---|---|---|---|
| Sec 3.1 | T = 100 | N = 200, 300, 500, 1000 | 100 draws |
| Sec 3.2 | N = 1000 | T = 6, 30, 40, 50, 75, 100 | 100 draws |
評估指標:各參數的 RMSE($\pi$、AR 係數、$\beta$、$\sigma^2$)
- GLES(German Longitudinal Election Study):ZA7728–ZA7733,共 6 波(2022/05、2022/10、2023/05、2023/10、2024/05、2024/10)
- CPI:德國每月 CPI 年增率,用以計算通膨指數
- 分析維度:前東德 vs. 前西德地區差異
- 語言:R(建議 R ≥ 4.2)
- 主要套件:
future,future.apply,progressr,ggplot2,tidyverse,MCMCpack,gtools,haven,data.table
# 1. 生成真值與模擬資料(含 EM 主函數定義)
source("Type2 code/Type2生資料.R")
# 2. 並行跑 EM 模擬
source("Type2 code/Type2跑EM.R")
# 3. 有母數拔靴(標準誤估計)
source("Type2 code/by時間有母數/有母數拔靴主程式.R")
# 4. 畫圖
source("有母數拔靴法各種圖.R")