回測與研究
一個 回測 在過去運行工作流程,一步一步評分它在每一步的決策與之後實際發生的情況的對比。一個 研究 同時運行多個回測以比較不同的設置或提示,並誠實地對它們進行排名。兩者都位於工作流程的 回測 標籤中。
回測運行的所有項目均標記為 歷史,因此重播的決策永遠不會被誤認為是實時的。
- 你選擇一個 配置:時間範圍,步長(例如一天),和要重播的歷史數據。
- 工作流程每一步運行一次。在每一步,它只能看到那一刻可以得知的內容——來自之後的事物則不可見。
- 每個決策都與下一步發生的事情進行評分。運行卡顯示結果和整個運行的摘要。
回測的花費方式與正常運行相同:每個模型調用均計入你的 workspace。運行卡和 設置 → 使用情況 顯示其成本。
一個研究是一個 搜索。你描述要嘗試的內容——一組參數值,若干隨機抽樣,或一個步驟的不同提示——研究會在幾個時間窗口上將每個候選項運行為回測。然後,它在未經調整的窗口中對候選項進行排名,減去嘗試多種事物的運氣。
領先榜顯示每個候選項的:
| 列 | 意義 |
|---|---|
| 調整後 | 在對嘗試的候選項數量進行修正之後的分數。這是排名。 |
| 超出樣本 | 候選項在未調整的窗口中的分數。 |
| 樣本內 | 候選項在調整過的窗口中的分數——顯示讓你看到差距。 |
| 過擬合差距 | 樣本內減去超出樣本。差距大意味著候選項學會了噪音。 |
| 成本 | 該候選項的運行成本,按 USD 計算。 |
標題還顯示計劃、運行和放棄的候選項數量,以及純運氣的最佳分數——等於或低於該分數的頂部分數是沒有找到任何內容的搜索。
最佳候選項會在 保留樣本 上再次進行評分:一段沒有任何候選項調整的最終時間切片。該數字是值得信賴的。
每個研究都有上限
Section titled “每個研究都有上限”一個研究乘以支出:每個候選項 × 每個折疊 × 兩個窗口 × 每個步驟。因此,研究在開始之前必須有預算,沒有「無限」選項。
始終需要兩個上限:
| 上限 | 其限制的內容 |
|---|---|
| 最大候選項數 | 可以運行的候選項數量。 |
| 最大總步驟數 | 整個研究可以運行的工作流程步驟數。 |
第三個是可選的:
| 上限 | 其限制的內容 |
|---|---|
| 預算 (USD) | 整個研究的成本上限。 |
無論哪一個上限首先達到,研究將停止。已經運行的內容不會被丟棄:研究被標記為 達到預算,運行的候選項會被排名,並且從中選擇一個獲勝者。
USD 預算估算的工作原理
Section titled “USD 預算估算的工作原理”當你輸入 USD 預算時,表單顯示一個估算——例如 ≈ $0.01 用於 2 個候選項 × 2 個折疊 × 2 個窗口 + 保留樣本。這個估算來自 實際運行:你 workspace 中此工作流程版本的最後一次完成回測,除以它運行的步驟,再乘以研究將運行的步驟。因此,它包括運行實際花費的所有東西——工具、重試和評分判斷者——而不僅僅是模型的價格。
因此,一個在你的 workspace 中從未回測的版本尚不能給出 USD 預算。先運行一次回測,或者在沒有 USD 預算的情況下創建研究。該表單告訴你你所處的情況。
低於估算的預算是允許的。研究會在超過預算之前停止,保留已運行的內容,並在領先榜中告訴你——包括當保留樣本是其無法承擔的運行時。
研究的成本及查看位置
Section titled “研究的成本及查看位置”每次運行結束時,其成本會被添加到研究中,並計入其候選項。領先榜標題顯示 支出——研究到目前為止的成本,相對於它的預算(如果有的話),在它開始時的估算旁邊。成本 欄顯示每個候選項的份額。在此功能推出之前創建的研究不會顯示成本,而是顯示一個誤導性的 $0。
按計劃運行研究
Section titled “按計劃運行研究”一個研究回答了「哪些設置在過去有效」。按計劃運行的研究回答了下一個問題:當新的數據到達時,獲勝者 是否保持為獲勝者?
在回測標籤的研究部分啟用它:勾選 按計劃重新運行,選擇要重新運行的完成研究,並設置一個節奏。你選擇的研究必須有 USD 預算——按計劃的研究是相同的支出,重複運行,因此上限是必須的。每次重新運行都將複製該預算。
每次重新運行:
- 保持與其派生研究相同的搜索空間,並將之前的獲勝者作為候選項添加,以便有東西可以超越;
- 僅在 上次研究的保留樣本後到達的數據 上進行評分。之前的保留樣本已被用來選擇獲勝者,因此它不再能作為公平測試;重新運行的折疊可以從中學習,但它的保留樣本始終是新的。這使得鏈中的每個保留樣本都是誠實、獨立的樣本——並讓 血統 面板能告訴我們,所有重新運行中的最佳結果是否比運氣所能產生的更好。
研究的領先榜下的血統面板列出每次重新運行的窗口、獲勝者、保留樣本分數及是否更改了獲勝者。在噪音下的預期最佳 k 是純機會在這幾次重新運行中產生的最佳結果。如果你的最佳保留樣本恰好等於或低於它,那麼這就是運氣,而不是持續的獲勝者——當情況如此時,面板會這麼說。
當計劃重新運行選擇的獲勝者與之前的運行不同時,設置計劃的人會收到 「計劃研究改變了獲勝者」 通知(可在設置 → 通知中調整)。
為什麼我的計劃研究被跳過?
Section titled “為什麼我的計劃研究被跳過?”在數據到達之間,計劃的正常狀態是 跳過,並且研究部分顯示為什麼會在計劃控制下:
| 消息 | 意義 | 解決方式 |
|---|---|---|
| 尚未有足夠的未見數據:20 步中的 7 步 | 自上次保留樣本以來到達的新步驟少於研究的最小(在創建研究時設置:重新運行的最小未見步驟)。 | 無需做任何事情——將在有足夠數據時運行。它永遠不會在較短的窗口中進行評分。 |
| 研究或回測運行正在進行中 | 每個工作流程一次只能有一個研究。 | 它會在下次到期時重試。 |
| 血統中的前一研究沒有完成 | 上一次重新運行已被取消或失敗,因此沒有可供重新運行的獲勝者。 | 取消計劃並從完成的研究中重新啟用。 |
| 根本研究沒有 USD 預算 | 你選擇的研究是在沒有預算的情況下創建的。 | 創建一個具有 USD 預算的研究,並從中設置計劃。 |
| 根本研究已被刪除 | 計劃自動關閉了。 | 選擇一個新研究並重新啟用。 |
| 工作空間訂閱過期 / 使用預算耗盡 | 在工作空間恢復之前,計劃的工作會被拒絕。 | 修復工作空間;計劃會自動恢復。 |
領先榜中的 推廣獲勝者 按鈕通過正常的激活流程激活獲勝候選項的版本,因此你的評估門檻仍然適用。僅更改參數(而不是提示)的獲勝者則無需激活:將其參數應用於配置中。
為什麼我輸入預算時研究被拒絕? 這個版本在你的 workspace 中沒有完成的回測可供估算。運行一次,然後再試 — 或者將 USD 預算留空。
為什麼研究提前停止? 達到了某個上限:候選項、步驟或 USD。研究會告訴你是什麼,所有運行的內容都會被保留和排名。
為什麼保留樣本缺失? 在獲勝者的保留樣本運行之前達到了預算。排名保持;保留樣本分數不存在。提高預算並再次運行研究以獲得它。
我可以在一個工作流程中同時運行兩個研究嗎? 不可以。每個工作流程一次只能有一個研究;取消正在運行的研究或等待其完成。
我的計劃研究為什麼一直說「未見到足夠的數據」。它壞了嗎? 不,重新運行僅對上一次保留樣本後到達的數據進行評分,並等待至少有你設置的最小值。向數據集添加數據(或擴展配置的時間範圍),它會在下次到期時運行。
為什麼血統警告最佳結果是「在噪音內」? 在 k 次重新運行中,k 個誠實分數的最佳結果仍然是一個最大值,而運氣本身也會產生一個最大值。面板會減去這個數字。如果你的最佳保留樣本未能超過它,那麼獲勝者並未顯示持久性 — 繼續收集數據。