-1

同じデータで使用するグラフの種類によって、対数関数の動作が異なるという問題があります。数式を手動で生成すると、散布図の線形トレンドラインが返されますが、勾配関数と線形グラフは異なるトレンドラインを生成します。

線形 vs 散布 線形 vs 散乱 散布図の対数線の方程式は次のとおりです。

y = -0.079ln(x) + 0.424

線形プロットのトレンドラインの方程式は次のとおりです。

y = -0.052ln(x) + 0.3138

次の式を使用して、線形プロットのトレンドラインの勾配を生成できます。

=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 で線形プロットのトレンライン方程式を複製することに興味があります

データは次のとおりです。

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

ここにExcelファイルがあります:

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

4

1 に答える 1

1

Excel の折れ線グラフと散布図は、X 軸に関してかなり異なります。散布図の場合、x 軸は実際の値を表します。折れ線グラフの場合、x 軸はラベルです。折れ線グラフで傾きを計算しようとすると、x 軸の値は 1、2、3、4 になります。ラベルが何を示していても (例: 7..69 と表示されていても) )。散布図では、x 軸にラベルの値が入ります。

あなたの場合、2 つの勾配の違いは、1 から始まる x 軸の折れ線グラフの値によって説明できます (ラベルが付いていますが7)。7 から始まる x 軸の散布図の値 -- 実際の値。

したがって、実際には、「X」の値が「7」で始まる、提示するデータの実際の勾配は、散布図データから得られる勾配であり、SQL で得られるものと同じです。 .

SQL 方程式が線形プロットのトレンドライン方程式と一致するようにするには、x 軸の値を実際の x 軸の値ではなく系列 [1..n] に置き換える必要があります。

私は SQL を持っていませんが、これら 2 つの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

1 つ目は散布図、2 つ目は折れ線グラフです。

于 2015-12-05T01:19:49.917 に答える