seed: Optional[int] = None
- 用途: 隨機數生成器的主種子,確保結果的可重現性
- 影響步驟: 所有步驟 (1-6)
- 說明:
- 設定後,整個管道的隨機過程都將可重現
- 如果為
None,將使用隨機種子
- 在
run_pipeline.py 中會生成子種子給各個步驟使用
skip_validation: bool = False
- 用途: 是否跳過驗證步驟 (步驟 4-6)
- 影響步驟: 步驟 4, 5, 6
- 說明:
- 設為
True 時,僅執行數據生成 (步驟 1-3),不進行狀態檢測和評估
- 用於快速生成數據而不需要驗證準確度的情況
維度和計數參數
p: int = 5
- 用途: 觀測變數的數量
- 影響步驟: 所有步驟 (1-6)
- 說明:
- 決定 VAR 模型中變數的維度
- 生成的係數矩陣為
p × p
- 時間序列數據包含
p 個變數
K: int = 2
- 用途: 隱藏狀態制度的數量
- 影響步驟: 所有步驟 (1-6)
- 說明:
- Markov-Switching 模型中的狀態數
- 轉移矩陣為
K × K
n_clusters: int = 10
- 用途: 要生成的集群數量
- 影響步驟: 步驟 1, 2
- 說明: 集群標識為 "A" 到 "J"
subjects_per_cluster: int = 2
- 用途: 每個集群中的受試者數量
- 影響步驟: 步驟 2–6
- 說明: 預設 20 個受試者
模板生成參數 (步驟 1)
off_diag_nonzero_frac: float = 0.5
- 用途: 非對角線交叉滯後效應的非零比例
- 說明: 控制 VAR 係數矩陣中非對角線元素的稀疏性
diag_range: List[float] = [0.2, 0.6]
off_diag_range: List[float] = [-0.3, 0.3]
var_range: List[float] = [1.0, 1.5]
cluster_min_dist: float = 1.4
max_attempts_per_cluster: int = 100000
受試者參數生成 (步驟 2)
sigma_theta: float = 0.03
模擬參數 (步驟 3)
n_steps: int = 600
burn_in: int = 100
transition_matrix: np.ndarray = [[0.95, 0.05], [0.05, 0.95]]
調優參數 (步驟 6)
accuracy_window: List[float] = [0.75, 0.85]
step_size: float = 0.05
max_iter_subject: int = 100