如何使用 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