LINESTX
使用最小二乘法计算最适合给定数据的直线,然后返回描述这条直线的表。 针对表中每一行进行计算的表达式的数据结果。 这条线的公式采用以下形式:y = Slope1*x1 + Slope2*x2 + ... + Intercept。
语法
LINESTX ( <table>, <expressionY>, <expressionX>[, …][, <const>] )
parameters
术语 | 定义 |
---|---|
表 | 包含将对其表达式进行求值的行的表。 |
expressionY | 要为表的每一行计算的表达式,用于获取已知的 y 值。 必须具有标量类型。 |
expressionX | 要为表的每一行计算的表达式,用于获取已知的 x 值。 必须具有标量类型。 必须提供至少一个标量类型。 |
const | (可选)常数 TRUE/FALSE 值,该值指定是否强制常数 Intercept 等于 0。如果为 TRUE 或省略,则按正常方式计算 Intercept 值;如果为 FALSE,则 Intercept 值设置为零 。 |
返回值
描述直线的单行表以及其他统计信息。 下面是可用的列:
- Slope1, Slope2, ..., SlopeN:对应于每个 x 值的系数;
- Intercept:截距值;
- StandardErrorSlope1, StandardErrorSlope2, ..., StandardErrorSlopeN:系数 Slope1, Slope2, ..., SlopeN 的标准误差值;
- StandardErrorIntercept:常数 Intercept 的标准误差值;
- CoefficientOfDetermination:决定系数 (r²)。 比较估计值和实际 y 值,值范围为 0 到 1:值越大,样本中的相关性就越强;
- StandardError:估计的 y 值的标准误差;
- FStatistic:F 统计量或 F 观测值。 使用 F 统计量来确定因变量和自变量之间的关系是否偶然发生;
- DegreesOfFreedom:自由度。 使用此值可帮助你在统计表中查找 F 临界值,并确定模型的置信度;
- RegressionSumOfSquares:回归平方和;
- ResidualSumOfSquares:残差平方和。
示例 1
以下 DAX 查询:
DEFINE VAR TotalSalesByRegion = SUMMARIZECOLUMNS(
'Sales Territory'[Sales Territory Key],
'Sales Territory'[Population],
"Total Sales", SUM(Sales[Sales Amount])
)
EVALUATE LINESTX(
'TotalSalesByRegion',
[Total Sales],
[Population]
)
返回包含十列的单行表:
Slope1 | 截距 | StandardErrorSlope1 | StandardErrorIntercept | CoefficientOfDetermination |
---|---|---|---|---|
6.42271517588 | -410592.76216 | 0.24959467764561 | 307826.343996223 | 0.973535860750193 |
标准误差 | FStatistic | DegreesOfFreedom | RegressionSumOfSquares | ResidualSumOfSquares |
---|---|---|---|---|
630758.1747292 | 662.165707642 | 18 | 263446517001130 | 7161405749781.07 |
- Slope1 和 Intercept:计算的线性模型的系数;
- StandardErrorSlope1 和 StandardErrorIntercept:上述系数的标准误差值;
- CoefficientOfDetermination、StandardError、FStatistic、DegreesOfFreedom、RegressionSumOfSquares 和 ResidualSumOfSquares:有关模型的回归统计信息。
对于给定的销售区域,此模型按以下公式预测总销售额:
Total Sales = Slope1 * Population + Intercept
示例 2
以下 DAX 查询:
DEFINE VAR TotalSalesByCustomer = SUMMARIZECOLUMNS(
'Customer'[Customer ID],
'Customer'[Age],
'Customer'[NumOfChildren],
"Total Sales", SUM(Sales[Sales Amount])
)
EVALUATE LINESTX(
'TotalSalesByCustomer',
[Total Sales],
[Age],
[NumOfChildren]
)
返回包含十二列的单行表:
Slope1 | Slope2 | 截距 | StandardErrorSlope1 |
---|---|---|---|
69.0435458093763 | 33.005949841721 | -871.118539339539 | 0.872588875481658 |
StandardErrorSlope2 | StandardErrorIntercept | CoefficientOfDetermination | 标准误差 |
---|---|---|---|
6.21158863903435 | 26.726292527427 | 0.984892920482022 | 68.5715034014342 |
FStatistic | DegreesOfFreedom | RegressionSumOfSquares | ResidualSumOfSquares |
---|---|---|---|
3161.91535144391 | 97 | 29734974.9782379 | 456098.954637092 |
对于给定的顾客,此模型按以下公式预测总销售额:
Total Sales = Slope1 * Age + Slope2 * NumOfChildren + Intercept