2015-12-04 4 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) 

Что происходит? я в основном заинтересован в тиражировании линейного участка trenline уравнения в SQL

Вот данные:

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

Вот файл Excel:

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

+0

Здесь это файл Excel Excel: https://www.dropbox.com/s/6hpd4bzvmbxe5pu/ScatterLinearTest.xlsx?dl=0 РЕДАКТИРОВАТЬ: Fiexed File – TigermanSD

+0

Последний файл значительно разъясняет ситуацию. См. Мой ответ. –

ответ

1

Line и графики рассеяния в Excel существенно отличаются по отношению к оси X. В случае графа рассеяния ось х представляет собой фактические значения. В случае линейного графика ось х - это метки. Если вы попытаетесь вычислить наклон, с линейным графиком, ось x будет иметь значения 1,2,3,4, ... независимо от того, что показывает метка (например: даже если она показывает 7..69). С графом рассеяния ось x будет иметь значение метки.

В вашем случае разница между двумя склонами может быть объяснена значениями линейного графика оси x, начинающимися с 1 (хотя это обозначено как 7); и значения графа рассеяния по оси X, начиная с 7 - фактическое значение.

Таким образом, реальный наклон для данных, которые вы представляете, с «X», начинающимся со значения «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 участок, вторая линия сюжета