散点图与线性图

时间:2015-12-04 20:28:02

标签: sql excel regression natural-logarithm

我遇到的问题是对数函数的行为有所不同,具体取决于我使用相同数据的图表类型。当我手动生成方程时,它返回散点图线性趋势线,但斜率函数和线性图产生不同的趋势线。

Linear vs Scatter Linear vs Scatter 散点图对数线的等式为:

y = -0.079ln(x) + 0.424

线性图trenline的等式是:

y = -0.052ln(x) + 0.3138

我可以使用以下公式生成线性图trenline斜率:

=SLOPE(B2:B64,LN(A2:A64)) = -0.052

但是使用一般斜率方程,我得到散点图趋势线(使用SQL):

    SELECT SUM(multipliedresiduals) / SUM(xresidsquared)
FROM (
    SELECT *
        ,log(x.x) - l.avgx xresiduals
        ,x.y - l.avgy yresiduals
        ,power(log(x.x) - l.avgx, 2) xresidsquared
        ,((log(x.x) - l.avgx) * (x.y - l.avgy)) multipliedresiduals
    FROM ##logtest x
    CROSS JOIN (
        SELECT avg(log(x)) avgx
            ,avg(y) avgy
        FROM ##logtest l
        ) l
    ) z        =   -0.0789746757495071 (Scatter Plot Slope)

发生了什么事? 我主要感兴趣的是复制SQL中的线性图trenline方程

以下是数据:

https://docs.google.com/spreadsheets/d/1sOlyXaHnUcCuD9J28cKHnrhhcr2hvYSU1iCNWXcTqEA/edit?usp=sharing

这是Excel文件:

https://www.dropbox.com/s/6hpd4bzvmbxe5pu/ScatterLinearTest.xlsx?dl=0

1 个答案:

答案 0 :(得分:1)

Excel中的直线和散点图在X轴方面有很大不同。在散点图的情况下,x轴表示实际值。在线图的情况下,x轴是标签。如果您尝试使用折线图计算斜率,则x轴将具有1,2,3,4的值,无论标签显示什么(例如:即使它显示为7..69 )。使用散点图,x轴将具有标签的值。

在您的情况下,两个斜率之间的差异可以通过从1开始的x轴线图值来解释(即使它标记为7);以及从7开始的x轴散点图值 - 实际值。

所以,事实上,你提供的数据的实际斜率," X"从值#34; 7"开始,是从散点图数据中获得的斜率,这与您在SQL中获得的斜率相同。

为了使SQL方程与线性图趋势线方程匹配,您需要将x轴值替换为系列[1..n]而不是实际的x轴值。

我没有SQL,但这两个SLOPE公式的结果应该澄清我在写什么:

Scatter plot: =SLOPE(B2:B64,LN(ROW(INDIRECT("7:69"))))  -0.078974676
Line Plot:    =SLOPE(B2:B64,LN(ROW(INDIRECT("1:63"))))  -0.051735504

第一个是Scatter图,第二个是Line plot