糖尿病病程研究 回到模擬

糖尿病模擬的輸入、輸出與程式位置

位置依交付的繁中註解版 Notebook,由上往下從第 1 格計數,含 Markdown、Raw 與空白格。Jupyter 左側的 In [n] 是歷次執行序號。可用表列的程式片段搜尋儲存格。

A · DES 逐人模擬

順序與位置輸入或輸出檔名與程式位置
1 · 第 9 格讀取風險迴歸係數(Big5)filename = (Disease2[i] + '_para.csv').lower()。依序讀取 dm_para.csv、ashd_para.csv、chf_para.csv、isc_para.csv、fesrd_para.csv、eye_para.csv、fin_para.csv、ashd+chf_para.csv、ashd+isc_para.csv、chf+isc_para.csv、ashd+chf+isc_para.csv、esrd_para.csv、chf+fin_para.csv、dead_para.csv。
2 · 第 10 格讀取事件時間參數layer1_weibull.csv → layer2_weibull.csv → layer3_weibull.csv。搜尋 para_wei.append(table)。
3 · 第 11 格讀取病人初值與更新參數先 TW initial value.csv,再讀 L1_adj/,最後讀 L2_adj/。兩個子目錄各有 ashd.csv、chf.csv、isc.csv、fesrd.csv、eye.csv、fin.csv、ashd+chf.csv、ashd+isc.csv、chf+isc.csv、ashd+chf+isc.csv、esrd.csv、chf+fin.csv、dead.csv。 adj_Initial_value.csv 的讀取是註解。
4 · 第 21 格逐人模擬,結果留在記憶體ans.append(sim(x)) 後由 result2 = DataFrame(ans, columns = ...) 建立 17 欄表。此格結尾是賦值。
5 · 第 23 格(新增)寫出逐人病程與年度併發症result2.to_csv("des_patient_paths.csv", ...) → annual_complications.to_csv("annual_complication_counts.csv", ...)。末行 annual_complications.head(len(STATES)) 預覽第 1 年。
下游 · 第 31–35 格路徑和時間與既有成本表合併tmpcost = cost10w、df_cost = pd.concat(...)、df_cost.to_csv('cost for 10w.csv')。所需的 cost10w 來源無法從附件確認。
下游 · 第 40 格分併發症寫出逐年路徑統計open('count_by_yearL1+L2/'+name+'.csv', 'w+', ...)、write.writerows(pathway_count_by_year12[i])。檔名的 name 取自 name_com[i+1],列表來源所在區段受損。

畫面輸出位置:

B · Markov 群體模擬

順序與位置輸入或輸出檔名與程式位置
1 · 第 11 格讀取風險迴歸係數(Big5)ashd_para.csv → chf_para.csv → isc_para.csv → fesrd_para.csv → eye_para.csv → fin_para.csv → ashd+chf_para.csv → ashd+isc_para.csv → chf+isc_para.csv → ashd+chf+isc_para.csv → esrd_para.csv → chf+fin_para.csv → dead_para.csv。
2 · 第 12 格讀取兩層疾病及死亡分布參數(Big5)layer1_weibull(M).csv → layer2_weibull(M).csv → layer2_gumbel(M).csv。
3 · 第 17–19 格設定基線與月週期,再取多次結果的平均基線在第 17 格以變數設定。第 18 格是主迴圈的受損 Raw 片段,第 19 格建立記憶體內的 final_num、final_L1。
4 · 第 24 格擷取第 60 月year5_risk、year5_risk2 留在記憶體。year5_risk.csv 和 year5_risk2.csv 的 to_csv 均為註解。
5 · 第 25、28 格建立並寫出五年模擬與觀察值比較第 25 格建立含 sim 和 real 的 pred,引用附件中來源未明的 per2010、per2015、percent。第 28 格 pred.to_csv('pred5y.csv') 寫檔。

畫面輸出位置:

C · 非 P4P 成本及效用

下表列出 Windows 絕對路徑的檔名部分。成本階段的三個讀入檔與效用階段的逐人輸入在原碼指向 C:\Users\MIS\Desktop\DM\Test\,效用參數指向 C:\Users\MIS\Desktop\DM\P4P\。相對路徑輸出位於 Jupyter 的目前工作目錄。

順序與位置輸入或輸出檔名與程式位置
1 · 第 3 格讀取病程與 Gamma 成本參數nontest0627.csv → nonp4pshape.csv → nonp4pscale.csv。sample 至少需要 D1、D2、time1–time3、age。
2 · 第 13 格寫出成本df.to_csv('nonDM-P4P.0627_out.csv')。原病程欄加上 cost1–cost3,保留 age <= 110。末行 df 也顯示在畫面。
3 · 第 15、17 格讀取效用計算所需資料先讀 DM-nonP4P.0627_out.csv,再讀 utility-new.csv。效用讀入名和第 13 格輸出名不同。要在原 Notebook 接續本次成本輸出,需讓第 15 格指向實際輸出,或將該檔複製到程式指定的路徑與名稱。
4 · 第 23 格寫出效用df.to_csv('nonP4P-0630_out.csv')。逐人資料加上 utility 欄,末行 df 也顯示在畫面。
只在畫面出現的中間量程式位置與搜尋字串
成本的參數表與逐人輸入預覽第 3、4、5 格末行 shape、scale、sample。
三段成本抽樣與折現因子第 7–9 格 print(cost0)、print(cost1)、print(cost2)。第 10–11 格 print(result1)、print(result2)。第 12 格末行 cost0。最終成本欄另寫入第 13 格的 CSV。
效用輸入及權重預覽第 15、17 格末行 sample、df。
三段折現效用與合計預覽第 19–21 格 print(utility0)、print(utility1)、print(utility2)。第 22 格末行 utility。最終合計效用另寫入第 23 格的 CSV。

資料流程為 DES 或既有逐人 CSV → 年度併發症統計,逐人 CSV 亦可接至非 P4P 成本 → 效用。Markov 的結果是月度群體人數及五年比較,逐人後處理需要 D0–D3 和各段時間。附件未附 CSV,無法確認 nontest0627.csv 的來源。