linest 函數使用方式範例

linest 函數可用來得出與線性迴歸分析相關的值。本節說明如何使用樣本資料建置圖表,進而得出 QlikView 中可用 linest 函數的值。linest 函數可用於載入指令碼和圖表運算式。

請參閱個別 linest 圖表函數與指令碼函數主題,取得語法及引數的說明。

載入樣本資料

請執行下列動作:

  1. 建立新的文件。
  2. 選取工具列中的編輯指令碼,然後將以下內容輸入指令碼:

    T1:

    LOAD *, 1 as Grp;

    LOAD * inline [

    X |Y

    1| 0

    2|1

    3|3

    4| 8

    5| 14

    6| 20

    7| 0

    8| 50

    9| 25

    10| 60

    11| 38

    12| 19

    13| 26

    14| 143

    15| 98

    16| 27

    17| 59

    18| 78

    19| 158

    20| 279 ] (delimiter is '|');

    R1:

    LOAD

    Grp,

    linest_B(Y,X) as Linest_B,

    linest_DF(Y,X) as Linest_DF,

    linest_F(Y,X) as Linest_F,

    linest_M(Y,X) as Linest_M,

    linest_R2(Y,X) as Linest_R2,

    linest_SEB(Y,X,1,1) as Linest_SEB,

    linest_SEM(Y,X) as Linest_SEM,

    linest_SEY(Y,X) as Linest_SEY,

    linest_SSREG(Y,X) as Linest_SSREG,

    linest_SSRESID(Y,X) as Linest_SSRESID

    resident T1 group by Grp;

  3. 儲存指令碼,並按一下重新載入以載入資料。

顯示指令碼計算的結果

請執行下列動作:

  1. 在工作表上新增一個表格方塊,並選取以下要顯示的欄位:

    • Linest_B
    • Linest_DF
    • Linest_F
    • Linest_M
    • Linest_R2
    • Linest_SEB
    • Linest_SEM
    • Linest_SEY
    • Linest_SSREG
    • Linest_SSRESID

包含用載入指令碼得出的 linest 計算結果之表格外觀應如下所示:

Linest_B Linest_DF Linest_F Linest_M Linest_R2 Linest_SEB
-35.047 18 20.788 8.605 0.536 22.607

Linest_SEM Linest_SEY Linest_SSREG Linest_SSRESID
1.887 48.666 49235.014 42631.186

建立 linest 圖表函數圖表

請執行下列動作:

  1. 前往物件 > 新的工作表物件 > 圖表...,以建立新的折線圖:
    • 維度 視窗中,新增 X 作為維度。
    • 運算式視窗中,新增 Sum(Y) 作為量值。
    • 簡報視窗中,取消選取隱藏零值

    已建立一個折線圖 (代表根據 Y 繪製的 X 圖形),而 linest 函數會從該折線圖進行計算。

  2. 對於運算式 Sum(Y),啟用線性 [趨勢線] 功能並勾選 [顯示方程式]。

    如此一來會顯示最適合所述線性迴歸函數的 QlikView 內建線。

  3. 使用 linest_blinest_m 函數計算線性迴歸函數,方法為新增定義為以下內容的第二個運算式:

    $(=LINEST_M(Y,X))*ONLY(X)+$(=LINEST_B(Y,X))

  4. 在工作表上新增一個連續表,並新增以下項目作為計算維度:

    ValueList('Linest_b', 'Linest_df','Linest_f', 'Linest_m','Linest_r2','Linest_SEB','Linest_SEM','Linest_SEY','Linest_SSREG','Linest_SSRESID')

    使用合成維度函數來建立含有 linest 函數名稱的維度標籤。您可將標籤變更為 Linest functions 以節省空間。

  5. 將以下運算式作為量值新增至表格:

    Pick(Match(ValueList('Linest_b', 'Linest_df','Linest_f', 'Linest_m','Linest_r2','Linest_SEB','Linest_SEM','Linest_SEY','Linest_SSREG','Linest_SSRESID'),'Linest_b', 'Linest_df','Linest_f', 'Linest_m','Linest_r2','Linest_SEB','Linest_SEM','Linest_SEY','Linest_SSREG','Linest_SSRESID'),Linest_b(Y,X),Linest_df(Y,X),Linest_f(Y,X),Linest_m(Y,X),Linest_r2(Y,X),Linest_SEB(Y,X,1,1),Linest_SEM(Y,X),Linest_SEY(Y,X),Linest_SSREG(Y,X),Linest_SSRESID(Y,X) )

    這會顯示針對合成維度中對應名稱的各 linest 函數結果值。Linest_b(Y,X) 的結果會顯示在 linest_b 旁邊,以此類推。

結果

Linest functions Linest function results
Linest_b -35.047
Linest_df 18
Linest_f 20.788
Linest_m 8.605
Linest_r2 0.536
Linest_SEB 22.607
Linest_SEM 1.887
Linest_SEY 48.666
Linest_SSREG 49235.014
Linest_SSRESID 42631.186