2015-12-04 436 views
-1

我遇到了一個問題,即對數函數的行爲有所不同,具體取決於我使用相同數據的圖表類型。當我手工生成方程時,它將返回散點圖線性趨勢線,但斜率函數和線性圖形會生成不同的趨勢線。散點圖與線性圖的對數趨勢線不同

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

+0

這裏是2013年Excel文件: https://www.dropbox.com/s/6hpd4bzvmbxe5pu/ScatterLinearTest.xlsx?dl=0編輯:Fiexed文件 – TigermanSD

+0

你最後的文件明顯地闡明瞭事情。看到我的答案。 –

回答

1

線和Excel中的散點圖在X軸方面完全不同。在散點圖的情況下,x軸表示實際值。在線形圖的情況下,x軸是標籤。如果您嘗試使用折線圖計算斜率,則無論標籤顯示什麼(例如:即使它顯示7..69,x軸的值都是1,2,3,4,...) )。使用散點圖,x軸將具有標籤的值。

在你的情況下,兩個斜率之間的差異可以用從1開始的x軸線圖值來解釋(即使它被標記爲7)。以及從7開始的x軸散點圖值 - 實際值。因此,實際上,您呈現的數據的真實斜率(「X」從數值「7」開始)是您從散點圖數據獲得的斜率,與您的數據相同進入你的SQL。

爲了讓SQL公式與線性圖趨勢線方程匹配,您需要用一系列[1..n]而不是實際的x軸值替換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 

首先是散點圖,二是支線劇情