Tableau 中的預測工作原理
Tableau 中的預測使用一種稱為 [指數平滑] 的技術。預測演算法嘗試在度量找到可延續到將來的一種固定模式。若您對 Tableau 中的預測建模感興趣,請參閱 預測建模函數在 Tableau 中的運作方式。
您通常向包含日期欄位和至少一個度量的檢視中新增預測。但是,在缺少日期的情況下,Tableau 也可以為除了至少一個度量外還包含具有整數值的維度的檢視建立預測。
有關建立預測的詳細資料,請參閱建立預測。有關使用整數維度進行預測的詳細資料,請參閱在檢視中沒有日期時進行預測。
概觀
所有預測演算法都是實際資料組建過程 (DGP) 的簡單模型。為獲得高品質預測,DGP 中的簡單模式必須與模型所描述的模式很好地相符。品質指標衡量模型與 DGP 的相符程度。如果品質較低,則由信賴區間測量的精度並不重要,因為它衡量的是不準確估計的精度。
Tableau 自動選取最多 8 個模型中最佳的那一個,最佳模型是組建最高品質預測的模型。在 Tableau 評估預測品質之前,會優化每個模型的平滑參數。優化方法是全域的。因此,選取的本機最佳的平滑參數也可能是全域範圍內最佳的。不過,初始值參數將根據最佳做法進行選取,但不會進一步優化。因此,初始值參數可能不是最佳的。Tableau 中提供的 8 個模型屬於 OTexts 網站上的以下位置中所介紹的那些模型的一部分:指數平滑方法的分類。(連結在新視窗開啟)
當視覺效果中的資料不足時,Tableau 會自動嘗試以更精細的時間粒度進行預測,然後將預測彙總回視覺效果的粒度。Tableau 提供可以從閉合式方程模擬或計算的預測區間。所有具有累乘元件或具有集合預測的模型都具有類比區間,而所有其他模型則使用閉合式方程。
指數平滑和趨勢
指數平滑 模型從某一固定時間系列的過去值的加權平均值,以反覆運算方式預測該系列的未來值。最簡模型(簡單指數平滑)從上一個實際值和上一個層級值來計算下一個層級值或平滑值。該方法之所以是指數方法,是因為每個層級的值都受前一個實際值的影響,影響程度呈指數下降,即值越新權重越大。
當要預測的度量在進行預測的時間段內呈現出趨勢或季節性時,帶趨勢或季節元件的指數平滑模型十分有效。趨勢 就是資料隨時間增加或減小的趨勢。季節性 是指值的重複和可預測的變化,例如,每年中各季節的溫度波動。
通常,時間系列中的資料點越多,所產生的預測就越準確。如果您要對季節性建模,則具有足夠的資料尤為重要,因為模型越複雜,就需要越多資料形式的證明,才能達到合理的精度層級。另一方面,如果您使用兩個或更多不同 DGP 組建的資料進行預測,則得到的預測品質將較低,因為一個模型只能相符一個。
季節性
Tableau 針對一個季節週期進行測試,具有對於估計預測的時間系列而言最典型的時間長度。這樣,如果您按月彙總,則 Tableau 將尋找 12 個月的週期;如果您按季度彙總,則 Tableau 將尋找 4 個季度的週期;如果您按天彙總,則 Tableau 將尋找每週季節性。因此,如果您的按月時間系列中有一個 6 個月的週期,則 Tableau 可能會尋找一個 12 個月模式,其中包含兩個類似的子模式。但是,如果您的按月時間系列中有一個 7 個月的週期,則 Tableau 可能找不到任何週期。幸運的是,以 7 個月為週期的情況並不常見。
Tableau 可以使用兩種方法中的任一方法來派生季節長度。原始時間度量法使用檢視時間粒度 (TG) 的自然季節長度。時間粒度意指檢視表示的最精細時間單位。舉例來說,如果檢視包含截斷到月的綠色連續日期或藍色離散年和月日期部分,則檢視的時間粒度為月。隨 Tableau 9.3 引入的新的非時間度量法使用週期回歸來檢查從 2 到 60 的季節長度中是否有候選長度。
Tableau 會自動針對給定檢視選取最適合的方法。當 Tableau 使用日期對檢視中的度量進行排序時,如果時間粒度為季度、月、週、天或小時,則季節長度將幾乎肯定分別是 4、12、13、7 或 24。因此,只會使用時間粒度的自然長度來組建 Tableau 支援的五個季節指數平滑模型。將對五個季節模型和三個非季節模型的 AIC 進行比較,並返回最低值。(有關 AIC 指標的說明,請參閱 [預測描述] 。)
如果 Tableau 使用整數維度進行預測,則使用第二種方法。此情況下沒有時間粒度 (TG),因此必須從資料中派生可能的季節長度。
如果時間粒度為年,則也會使用第二種方法。年度系列很少有季節性,但如果它們確實有季節性,則也必須派生自資料。
對於時間粒度為分鐘或秒的檢視,也使用第二種方法。如果此類系列有季節性,則季節長度可能為 60。但是,在測量定期的真實流程時,該流程可能會有與時鐘不對應的定期重複。因此,對於分鐘和秒,Tableau 也會檢查資料中與 60 不同的長度。這並不意味著 Tableau 可以同時對兩個不同的季節長度建模。而是會預估十個季節模型,其中五個的季節長度為 60,另五個的季節長度派生自資料。十個季節模型或三個非季節模型中的哪個模型具有最低的 AIC,就將使用該模型來計算預測。
對於按年、分鐘或秒排序的系列,如果模式相當清晰,就將測試資料中的單一季節長度。對於按整數排序的系列,將會為所有五個季節模型預估九個不太清晰的季節長度,並返回 AIC 最低的模型。如果沒有適合的候選季節長度,則只會預估非季節模型。
由於 Tableau 在從資料派生可能的季節長度時所有選取都是自動的,因此 [預測選項] 對話方塊的 [模型類型] 功能表中的預設模型類型 [自動] 不會變更。選取 [自動不帶季節性] 可避免搜尋所有季節長度和預估季節模型,從而可提高效能。
Tableau 用於決定何時使用派生自資料的季節長度的啟發法取決於每個候選季節長度的週期回歸的誤差分佈。在資料中實際存在季節性的情況下,由於透過週期回歸候選季節長度通常組建一兩個明顯達到要求的長度,返回單個候選長度即表示可能有季節性。在這種情況下,Tableau 將為年、分鐘和秒粒度使用此候選長度預估季節模型。返回的候選長度少於最大值 10 表明可能有季節性。在這種情況下,Tableau 將為按整數排序的檢視使用所有返回的候選長度預估季節模型。返回最大數量的候選長度表明大多數長度的誤差類似。因此,不可能存在任何季節性。在這種情況下,Tableau 只會為按整數排序或按年排序的系列預估非季節模型,並且只會為其他按時間排序的檢視使用自然時間長度預估季節模型。
對於按整數、年、分鐘和秒排序的檢視中的模型類型 [自動] ,不管是否使用候選時間長度,它們始終派生自資料。由於模型預估與週期回歸相比所花費的時間要多很多,因此效能影響應保持適度。
模型類型
在 [預測選項] 對話方塊中,可以選取 Tableau 用於預測的模型類型。對於大多數檢視, [自動] 設定通常是最佳設定。如果選取 [自訂] ,則可以單獨指定趨勢和季節特徵,選取 [無] 、 [累加] 或 [累乘] :
累加模型是對各模型元件的貢獻求和,而累乘模型是至少將一些元件的貢獻相乘。當趨勢或季節性受資料層級(數量)影響時,累乘模式可以大幅改善資料預測品質:
請注意,您不需要建立自訂模型即可組建累乘預測: [自動] 設定可以確定累乘預測是否適合您的資料。但是,當要預測的度量包含一個或多個小於或等於零的值時,將無法計算累乘模型。
使用時間進行預測
在使用日期進行預測時,檢視中只能有一個基準日期。支援部分日期,並且所有部分均必須引用同一基礎欄位。日期可以位於 [列] 、 [欄] 或 [標記] 上(工具提示目標除外)。
Tableau 支援三種類型的日期,其中兩種類型可用於預測:
截斷日期是對歷史記錄中具有特定時間粒度的某個特定時間點的引用,例如 2017 年 2 月。它們通常是連續的,在檢視中具有綠色背景。截斷日期可用於預測。
日期部分是指時間度量的特定成員,例如二月。每個日期部分都由一個通常為離散的不同欄位(帶有藍色背景)表示。預測至少需要一個 [年] 日期部分。具體而言,它可以使用以下任何日期部分組合來進行預測:
年
年 + 季度
年 + 月
年 + 季度 + 月
年 + 週
自訂:月/年、月/日/年
其他日期部分(例如 [季度] 或 [季度 + 月] 無法用於預測。有關不同日期類型的詳情,請參閱在離散和連續之間轉換欄位。
確切日期是指歷史記錄中具有最大時間粒度的特定時間點,例如 2012 年 2 月 1 日 14:23:45.0。確切日期無法用於預測。
也可以在沒有日期的情況下進行預測。請參閱在檢視中沒有日期時進行預測。
資料粒度和修剪
在建立預測時,您需要選取一個日期維度,它指定了度量日期值所採用的時間單位。Tableau 日期支援一系列這樣的時間單位,包括 [年] 、 [季度] 、 [月] 和 [天] 。為日期值選取的單位稱為日期的粒度。
度量中的資料通常並不是與粒度單位完全一致。您可能會將日期值設定為季度,但實際資料可能在一個季度的中間(例如,在 11 月末)終止。這可能會產生問題,因為這個不完整季度的值會被預測模型視為完整季度,而不完整季度的值通常比完整季度的值要小。如果允許預測模型考慮此資料,則產生的預測將不準確。解決方法是修剪該資料,從而忽略可能會誤導預測的末端週期。使用 [預測選項] 對話方塊中的 [忽略最後] 選項來移除(或者說修剪)掉這樣的部分週期。預設設定是修剪一個週期。
獲取更多資料
Tableau 需要時間系列中具有至少 5 個資料點才能預測趨勢,以及具有用於至少兩個季節或一個季節加五個週期的足夠資料點才能估計季節性。例如,需要至少 9 個資料點才能估計具有一個四季度季節週期 (4 + 5) 的模型,需要至少 24 個資料點才能估計具有一個 12 個月季節週期 (2 * 12) 的模型。
如果您針對不具有支援準確預測的足夠資料點的檢視啟用預測,則 Tableau 有時會為了實現更精細的粒度層級來查詢資料來源,從而擷取足夠資料點來產生有效預測:
如果檢視中包含少於 9 年的資料,則在預設情況下,Tableau 將查詢資料來源以獲取每個季度的資料,按季度估計預測,並彙總為按年的預測結果以顯示在檢視中。如果仍然沒有足夠資料點,則 Tableau 將按月估計預測,並將彙總後的按年預測結果返回到檢視。
如果檢視中包含少於 9 個季度的資料,則在預設情況下,Tableau 將按月估計預測並將彙總後的按季度預測結果返回到檢視。
如果檢視中包含少於 9 週的資料,則在預設情況下,Tableau 將按天進行預測並將彙總後的按週預測結果返回到檢視。
如果檢視中包含少於 9 天的資料,則預設情況下,Tableau 將按小時估計預測並將彙總後的按天預測結果返回到檢視。
如果檢視中包含少於 9 小時的資料,則預設情況下,Tableau 將按分鐘估計預測並將彙總後的按小時預測結果返回到檢視。
如果檢視中包含少於 9 分鐘的資料,則預設情況下,Tableau 將按秒估計預測並將彙總後的按分鐘預測結果返回到檢視。
這些調整都在背景進行,無需進行設定。Tableau 不會變更視覺效果的外觀,實際上也不會變更日期值。不過,「描述預測」和「預測選項」對話方塊中的預測時間段摘要將反映出所使用的實際粒度。
僅當要預測的度量的彙總是 SUM 或 COUNT 時,Tableau 才能獲取更多資料。有關可用彙總類型和如何變更彙總類型的資訊,請參閱Tableau 中的資料彙總。