You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DAX函数LINESTX实现线性回归出现异常问题求助

DAX LINESTX线性回归结果异常排查

问题原因

你直接用Date类型字段作为LINESTX的自变量x,而DAX中日期本质是从1900年1月1日开始计数的整数天数(比如2023年的日期数值普遍在44000以上)。这种超大的x值会扭曲线性回归公式y = kx + m的计算:即使斜率k确实接近0,乘以几万的x后,为了拟合y值(约1.5),截距m会被计算成一个偏离预期的大数值,最终得到29.12这样的结果。

修正方案

把日期转换成相对偏移量,比如数据集起始日期后的天数,或者当年的第几天,缩小x的数值范围。示例代码如下:

Linreg = 
VAR StartDate = MIN('BWi-data 2023'[Date])
// 将日期转换为从起始日开始的天数差
VAR AdjustedData = ADDCOLUMNS(
    'BWi-data 2023',
    "X_Value", DATEDIFF(StartDate, 'BWi-data 2023'[Date], DAY)
)
VAR Line = LINESTX(
    AdjustedData,
    [BWi],
    [X_Value]
)
VAR k = SELECTCOLUMNS(Line, "Slope", [Slope1])
VAR m = SELECTCOLUMNS(Line, "Int", [Intercept])
VAR x = SELECTEDVALUE(AdjustedData[X_Value])
VAR y = k*x + m
RETURN m

补充说明

如果你的日期是按年周期的,也可以用DAYOFYEAR('BWi-data 2023'[Date])作为X_Value,x的范围会控制在1-365之间,同样能避免大数值干扰回归计算。

内容的提问来源于stack exchange,提问作者Håkan Rolin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:02:40