
在我之前規劃的模型清單中,
目前在產業評估模型中灰階的部分,
目前產業關聯表示尚未具備的,
當然這個在資料建置中是非常費時費力的,
今天就是要對此進行資料實踐
因此今天所要製作的「投入產出分析(Input-Output Analysis)」
靠著其與產業關聯兼具有高度關聯性
可以說是所有工具內,評估模型最難建置的部分
也是資料最難取得的部分

考量產業關聯表是主計總處
約每5年編製一版的大工程,只提供網頁下載
並沒有API可以串聯
因此這邊主要採人工下載的方式執行
因此在建置上,我需要從官網把表抓下來,交給解析腳本轉成 data/io_table.json。
此外對於此次建置內容,需要配套措施,分別如下:
meta.warning 明確標示「示範資料」要下載的檔案是「國內關聯程度表」
依產業模型規格實作
- scripts/parse-io.mjs——解析主計總處關聯表檔案(貼上實際欄位結構),輸出 data/io_table.json,meta 必含基準年與 warning 欄位
- models/io.ts——讀 io_table.json,計算指定產業的向後/向前關聯係數(Leontief 反矩陣),矩陣運算用 mathjs,輸出統一 JSON。
Claude給的結果如下
但在這邊會發現一個大問題
根據Claude給的安裝說明
要做的事情是
但這邊是找不到含「影響度」「感應度」欄位的工作表
這就會造成其原產出的打包檔,
在解析中會出現問題
因此在這邊 我又下了第二次的Prompt
找不到含「影響度」「感應度」欄位的工作表,幫我我依照上傳的檔案,進行解析修正
Claude給我的回覆如下
因此我將新的檔案重新丟進專案後
再次進行
Claude給我的打包檔內容如下
同時這邊Claude也給我了之後資料更新的作法
接下來要開始進行資料驗收
先將資料進行第一次檢視:
驗算:帶動產值公式、粒度差對照「化學材料及肥料→化學材料」、查無對照的報錯品質
npx tsx scripts/test-ind3.ts
回歸確認npx tsx scripts/test-ind1.ts
npx tsx scripts/test-ind2.ts
接下來開始進行實際工具頁面驗證npm run dev


今天做完的感覺
我覺得最難的模型,難的是資料不是數學計算
其中像是 Leontief 反矩陣一行 mathjs 就可以解決,
真正花時間的是「無 API 的表怎麼進系統、五年一版的時效怎麼交代、粗細不同的分類怎麼對照」。
當然在這邊,大家可能會認為
為什麼我都已經把下載的資料放進專案data中了
為什麼我的工具平台上,還是呈現範例檔呢
因此我在這邊對此作簡單的解釋
我們用以下的範例
在瀏覽器中的Console 貼上
for (const f of ["industry_output.json","io_table.json","financials.json"]) fetch('/data/'+f).then(r=>r.json()).then(j=>console.log(f, j.meta.is_sample ? '⚠範例' : '✓正式', '基準:'+j.meta.base_period))
其執行結果如下
會出現這個問題的原因是
因為Claude在進行設計時
他將目前的模型寫成同時依賴io_table 和 industry_output 兩份資料
這真正造成的問題點
是在於我在Day 4的時候
我沒有做經濟部工業產銷存(industry_output)下載與解析
致使這邊仍然卡在範例部分
所以在之後,我要找時間先補
Day 4沒有做的事情
下載「工業產銷存動態調查」
才能有辦法讓範例的標示取消掉