光譜入門:從載入到看結果
先把光譜想成「某個量測位置記錄的一長串訊號」。一條線是一個位置;比較多個位置,就能觀察哪裡的訊號組合不同。M4 可做點、線與面掃描;這裡分析的是讀進來的數值。
第一輪照這樣做
- 「內建與本機資料」選合成 XRF · 144 個位置。若要試本機實測資料,可選
m4_tornado/minBcf.bcf,目前可讀出 9 個位置。
- 「BCF 偵測器」先用 0;「SPX 光譜索引」先用 0。按載入選取資料。
- 先確認右側名稱已換成光譜資料,樣本數為 144 或 9。如果出現載入失敗,舊畫面不代表新檔已讀取。
- 看「光譜輪廓」:橫軸是能量,縱軸是記錄到的訊號量。先觀察不同線的峰位置、形狀和高度。
- 「比較目標」改成不指定目標 · 看資料差異;分析方法選 GreyPCA + 特徵排序,PCA 方法選標準
pca。
- 保留主成分用 2;GRA 保留主成分先填 0;保留光譜總計數正規化與預設輸入特徵。
- 按執行分析。左圖看位置間的差異,右側找值得回頭檢查的能量區間。
- 先記下靠得近/離得遠的樣本,再看排序前幾個區間。不急著刪特徵;需要保存時先下載分析 JSON。
畫面上每一項的意思
| 操作/圖表 | 意思與第一輪設定 |
| 內建與本機資料 | 選資料來源;選完還要按載入。PVD/CVD 是製程數值表,不是光譜。 |
| BCF 偵測器 | 選同一次量測使用的哪個感測器。0 是第一個,不是關閉;不能把不同偵測器當成可直接相加。 |
| SPX 光譜索引 | 選 SPX 中的第幾組光譜,從 0 開始。可能含樣品或背景;載入 BCF 時不用這項。 |
| 載入選取資料 | 讀下拉清單中的檔案。右側資料名稱與筆數改變才算載入成功。 |
| 選擇 CSV/SPX/BCF | 從電腦挑另一個檔案,選完立即讀取;不是讀取上方下拉選單。SPX 常只有一筆,單筆可看光譜圖,無法做位置間 PCA。 |
| 比較目標 | 問「哪些特徵與這個已知數值較相關」。沒有濃度或品質實測值,先不指定。不要隨便選一個能量欄當品質目標;合成 Cu 混合權重也不是真實 Cu 濃度。 |
| 分析方法/PCA 方法 | 前者選整個分析流程,後者選其中的降維方式。第一輪都用標準 GreyPCA/pca,先看懂結果再換方法。 |
| 保留主成分 | 用幾個綜合數值描述原本很多欄的差異。先用 2,對應圖上的 PC1、PC2;它們不是兩種元素。 |
| GRA 保留前幾個主成分 | 依已知目標再篩主成分。第一輪填 0 表示不用;填正數時必須有目標。 |
| GRA 參數 | 控制與目標的比較方式。先保留 rho 0.5、zscore、either;這些不是儀器能量或偵測器設定。各參數見手冊「PCA 與 GRA 參數」。 |
| 光譜按總計數正規化 | 先讓每個樣本的總訊號量相同,再比較形狀;不會把數值轉成濃度。若要研究總強度差異,可取消後重新比較。上方光譜輪廓仍顯示載入的原始強度。 |
| 輸入特徵/全選/還原建議 | 決定哪些欄進入分析。光譜先以最多 64 個相鄰能量區間加總;每一欄是一段能量,不是自動辨識出的元素。第一輪保留預設勾選。 |
| 執行分析 | 按目前資料與設定重新計算;改參數後要再按一次。 |
| 光譜輪廓 | 橫軸能量是訊號的分類位置;縱軸 Counts 是記錄量,背景估計可能為小數。彩線顯示前 9 個位置,白線是全部位置的平均。峰高不直接等於元素百分比。 |
| 位置 y,x/總計數 | 位置座標與該點的總訊號。顏色只反映總量,不是某個元素的濃度圖。 |
| 樣本差異/PC1、PC2 | 每個點代表一個樣本或位置;靠近表示在保留的主成分中較相似。離得遠值得回頭檢查原光譜,但不能直接認定材質不同。 |
| 保留變異量 | 保留了原資料多少差異。高比例不代表元素辨識率或預測準確率。 |
| 特徵排序 | 未指定目標時看能量區間與主成分的相關程度;指定目標後看 GRA。它是檢查優先順序,不是元素濃度或因果證據。 |
| 保留前/套用至輸入特徵 | 只勾選排序前幾名,再重新執行。它會改變分析輸入;先保存完整分析,之後再做篩選。 |
| 資料預覽/下載分析 JSON | 預覽顯示部分資料列;JSON 保存這次的設定和結果。一般分析 JSON 不是「匯入 Python 結果」專用的 .result.json。 |
這次的 BCF 錯誤
unsupported or truncated SFS/BCF signature 表示讀取器沒有辨識出它支援的內部結構。副檔名是 BCF,不代表每種編碼都已支援;這則錯誤本身也不能判定檔案損毀。先用合成 XRF 練習,或由儀器軟體匯出 SPX 看單筆光譜。BCF 載入失敗後,先確認右側仍是哪一組舊資料。
要把能量峰解釋成元素、再估算濃度,還需譜線判讀、校正及適用的定量方法。本頁先協助找差異與值得檢查的區間。
開始與重整
用 python3 run.py workbench 開啟即時分析視窗。直接雙擊 HTML 只能查看內建預覽;新資料或新參數需要 Python 計算。
按右上角「重整頁面」會重新載入介面,回到預設 PVD 資料。已選檔案、參數及畫面上的結果會清除;需要保留時,先下載結果 JSON。重整不會重新啟動 Python;修改 Python 程式後請關閉視窗再啟動。
選擇資料檔
公開展示檔集中在專案根目錄的 data/demo/。CSV 在 doe/,筆跡來源在 handwriting/,已完成報告在 results/。上方「Demo 資料包」可查檔案與操作對照。
先用內建 PVD/CVD 熟悉流程:選資料,再按「載入選取資料」。自己的檔案用「選擇 CSV / SPX / BCF」載入。
- DOE CSV:UTF-8 編碼,第一列為欄名,每列一筆實驗。製程參數和量測結果分欄;單位可寫在欄名,例如
power_w、thickness_nm。可參考上方的 PVD/CVD CSV。 - 光譜 CSV:每列一個樣本,每欄一個依序排列的通道;這條匯入路徑視為一般數值表。需要光譜專用窗口或計數處理時,請使用支援的 SPX/BCF。
- SPX:選儀器匯出的
.spx。光譜索引從 0 開始;含多組光譜時可切換量測或背景。 - BCF:選光譜地圖
.bcf。偵測器從 0 開始,各偵測器分開分析;部分編碼尚不支援。
先設定偵測器/索引再選檔。若要切換上傳檔的偵測器/索引,修改數值後重新選取檔案;「載入選取資料」只載入下拉清單中的資料。
單檔上限 32 MiB;CSV 最多 5,000 列、256 個數值欄。非數值或含缺值的整欄會排除,請先確認資料預覽。光譜至少 3 筆才能做本頁分析;單筆 SPX 可先看光譜圖。
光譜/DOE:第一次分析
- 選內建 PVD,按「載入選取資料」。
- 「比較目標」選
thickness_nm;「分析方法」先用 GreyPCA + 特徵排序。 - PCA 選標準
pca,保留主成分先用 2;「GRA 保留前幾個主成分」先留 0。 - 輸入特徵只勾製程參數。分析膜厚時,不要把其他量測結果一併當成製程參數。
- 按「執行分析」。左圖看樣本差異,右側看與目標的 GRA 排序。
- 要減少欄位,填「保留前」並按「套用至輸入特徵」,再按一次「執行分析」。按「下載分析 JSON」保存結果。
沒有比較目標時,選「不指定目標」。PCA 路徑會依特徵與主成分的相關程度排序;這和有目標的 GRA 排序不同。修改設定後需要重新執行。
分析方法怎麼選
| 方法 | 何時用、需要填什麼 |
|---|
| GreyPCA + 特徵排序 | 先看樣本差異,再比較特徵;一般 DOE 從這個開始。 |
| GRA | 只比較特徵與目標,不做 PCA;必須選比較目標。 |
| GM(0,N)/GM(1,N) | 分析有先後順序的多變量資料;選目標並確認「資料列有合理的先後順序」。不要把無序 DOE 當成時間序列。 |
| 灰品質評分 | 排樣本的品質分數。勾要評分的指標,逐欄設定望大、望小或目標值,以及上下界和權重。預設上下界來自資料範圍,請改成適用的範圍;目標值需嚴格落在上下界內。權重不可全為 0。 |
| Grey 窗口 → GreyPCA | 適用由光譜讀取器載入的連續通道資料。設定窗口大小和位移;窗口不可超過可用通道數。 |
| PoissonPCA | 只用於非負原始光子計數。不要用背景扣除、濃度、已正規化或估計背景資料。 |
PCA 與 GRA 參數
- PCA:先選標準
pca、保留 2 個成分。Sparse 的 alpha 越大通常越稀疏;Kernel 先試 rbf,gamma 控制尺度;Robust 系列用於比較擾動的影響;Adv 的半徑先用 adaptive,manual 才需填 delta。 - 主成分 GRA 篩選:0 為關閉。啟用時必須選目標,且保留數不可超過已計算的主成分數。
- GRA:rho 先用 0.5;不同單位先用 zscore。direction 的 either 比較正反向關係,positive 只比較正向關係;不是品質望大/望小。
- 光譜總計數正規化:要比較光譜形狀時可保留勾選;要保留原始強度差異時取消。DOE 不用這個選項。
主成分正負與變異量都不是品質好壞。若要評品質,使用「灰品質評分」設定指標方向。
圖片比較:選哪些圖片
- 先按「試跑 AI 筆跡 demo」看輸出格式。
- 「待比較圖片」選 1 張筆跡;「參考圖片」選 3–30 張已分開存好的筆跡圖片。支援 PNG、JPEG、WebP、BMP、TIFF,每張最多 8 MiB。
- 先裁掉大面積空白、桌面或邊框。盡量選相同文字、相近範圍與拍攝條件;不要把整張拼貼圖當成多張參考。
- PCA 先用標準
pca,按「比較我的圖片」。 - 看參考圖片排序與距離;距離越小,表示本次擷取的數值特徵越接近。
更換圖片或 PCA 參數後,重新按比較。模型只用參考圖擬合;距離不是同一作者的機率。
應用實驗室:操作方式
選情境,先保留預設參數,按「執行情境」。看完結果後一次改一項參數,再執行比較;用相同 seed 可重現同一組合成資料。按「結果 JSON」保存。
除「改用自己的時間序列」外,這區使用內建合成資料,沒有配送、藝術品或軌跡檔案的上傳入口。自己的 DOE 請到「光譜 / DOE」,圖片請到「圖片比較」。下方下載的合成輸入 JSON 供程式使用,不是匯入結果檔。
配送路線
選配送點數 3–8,選路目標先用 grey。調整距離、時間、遲到權重後執行,至少一項權重要大於 0。圖上看拜訪順序,表格比較距離、時間及遲到。改用 distance 可比較最短距離路線;權重只對 grey 選路生效。這裡用模擬平面座標,不是真實道路導航。
司機與訂單媒合
設定司機人數、訂單數和三項權重後執行。表格列出配對與未媒合訂單;查看載重、技能或可用時間是否滿足。每名司機最多配一單;訂單較多或資格不符時可以沒有配對。調高接貨距離權重可觀察配對變化。
藝術品區域差異:現場展示
圖片展示:「示範資料來源」選「AI 絹畫圖片」,保留 PCA、3 個成分、門檻 0.95 執行。關閉/開啟標記,比較右上葉片色差與左下花瓣剝落;再提高門檻至 0.99 重跑。此模式直接分析兩張 PNG 的 RGB 特徵,不是光譜;亂數與材料強度不適用。圖片和完整數值在 data/demo/artwork/。以下步驟則使用「合成光譜地圖」。
- 執行
python3 run.py workbench,進入「應用實驗室」選藝術品情境。這裡比較合成光譜地圖,不是作品照片。 - seed 7、PCA、3 個成分、門檻分位 0.95、材料強度 0.6,按執行。左圖是重建誤差,圈線是超過參考門檻的位置;右圖是刻意變更的 18 個位置,僅用於核對。
- 門檻改為 0.99 再執行,通常標記會減少;同時看誤報與漏報。
- 恢復 0.95,強度降為 0.2,以相同 seed 再執行,觀察細微差異如何影響檢出。每次下載結果 JSON。
真實作品需要有使用授權、位置對齊、能量校正一致且量測條件可比較的參考/待測光譜地圖。目前此情境沒有實際地圖成對上傳入口。支援的 BCF 可到「光譜 / DOE」探索,但不是這裡的成對差異分析。標記是調查線索,需由修復專家查驗,不能直接判定補畫、年代或真偽。
訂單量預測/Convolution
先選 gm11,預測 2–4 期後執行。看最後 4 期回測與未來預測;切到 convolution 時再設定窗口大小、位移。
自己的序列填在「改用自己的時間序列」:依時間先後輸入 12–120 個正數,用逗號或空白分隔,例如 80, 84, 82, 89, 91, 90, 96, 98, 100, 103, 102, 108。留白使用模擬訂單;此處不讀 CSV。Convolution 是兩層 GM11 窗口。
多維軌跡
選 2、3 或 4 維,先保留 32 個重採樣點與預設窗口,再執行。看 PCA 投影與距離比較;畫面只畫前兩維,分析會使用選定的全部維度。此區產生合成軌跡;真實軌跡需透過 Python API 載入。
光譜工具
選工具後只需填畫面顯示的參數,再按執行。NMF/MCR 用於混合成分分解;MNF/MLPCA 比較噪聲處理;baseline 調整基線平滑;peaks 比較擬峰;element_lines 輸入原子序查譜線。這區使用合成光譜及已知模擬噪聲,分解權重不是元素濃度。
半導體工具
選 PVD 或 CVD,再選製程工具。PLS 看保留資料預測;monitor 看 Q/T² 與門檻;suggest 比較降低均勻度誤差的候選;lhs 產生試驗點。先保留預設參數執行,再調主成分、門檻或候選數。這區使用每製程 15 筆合成 DOE;自己的 CSV 請到第一頁分析。
快速分析四步驟
- 選「最佳化 · 快速分析四步驟」,保留預設值,按「執行情境」。這裡不用選檔案。
- 按「1 排序穩定性」看每個特徵入選前兩名的頻率;增加重抽樣次數可觀察排名變動。
- 按「2 差異門檻」看橘色超標點與紫邊模擬偏移點。偏移強度改成 0 再執行,可檢查正常資料誤報。
- 按「3 自動選組合」比較驗證 RMSE,越小越好;摘要另列獨立測試 RMSE。
- 按「4 多目標方案」看成本與品質損失;降低成本上限再執行,觀察哪些方案被排除。
- 按「結果 JSON」保存參數、完整分析報告與數值。圖表切換不需重算。
資料是 120 筆訓練、60 筆正常校正、60 筆獨立測試。參數變更需要 Python;直接開 HTML 可看預設結果,或用匯出請求/匯入結果重新計算。自己的資料請使用 analyze_features(),這個展示沒有新設資料上傳入口。這不是機台處方或文物修復判定。
研究模型:從預設值開始
- 選「研究模型」,方法先用 rlfgm,保留 auto,按執行。圖上比較歷史、保留回測與未來預測。
- 選 ginn 或 fginn,再執行;先用窗口 3、先驗權重 0.1。FGINN 可調 order 與 beta,兩者為 1 時回到一般灰色先驗。權重 0 則不使用灰色引導。
- 看下方 converged 與診斷。未收斂仍會保留結果與警告;不要只挑最好看的曲線。
- 選 grey_fuzzy_gpr,比較一般 GPR 與 Grey–Fuzzy GPR 的保留測試誤差;可靠度只表示本次模糊規則,不是正確率。
- 「搭配 PCA」選 on,再選 PCA 方法與主成分數,下方可調該方法專用參數。時序還原三個通道,圖表只顯示第一個;品質可靠度只反映保留成分。
- 按「結果 JSON」保存。這區使用合成資料,不用選檔案;自己的序列與量測請使用 forecast_series()、predict_quality() 或模型 API。
RL-FGM 是公式核心實作,但使用時間保留段與格點選階數。GINN/FGINN 是明確記錄變更的工程版本;Grey–Fuzzy GPR 是獨立設計。都不是作者實驗的完整重現,也不支援非等間隔日期。直接開 HTML 可切換預設結果;改參數需要本機 Python 或請求/結果交換。
結果檔與離線交換
即時視窗:分析後按「下載分析 JSON」或「結果 JSON」。這些 JSON 保存結果,不是原始 CSV,也不是可匯入的新資料集。
直接開 HTML:需要新計算時,按「匯出運算請求」,執行 python3 run.py workbench --request greytheory-request.json,再用「匯入 Python 結果」選產生的 greytheory-request.result.json。請勿選原始請求或一般結果 JSON。
若按執行後沒有結果,先看頁面頂端的錯誤訊息;確認資料筆數、所選欄位和參數範圍。出現預覽提示時,改用即時視窗或檔案交換。