Линейная регрессия, поиск наклона в MySQL - PullRequest
2 голосов
/ 09 декабря 2010

Я пытаюсь найти наклон набора данных, в котором в качестве оси x указан DATETIME, а на оси y - число.

Я пробовал несколько подходов, и ничто не будет соответствоватьнаклон линии, когда я подключаю данные в Excel, он отключается на несколько порядков.

Это то, что у меня есть сейчас, но оно дает мне наклон -1,13e-13 вместо -0,008

SELECT (SUM((x-xBar)*(y-yBar)))/(SUM((x-xBar))*SUM((x-xBar)))) as slope
from (select unix_timestamp(date) as x, 
  (select avg(unix_timestamp(date)) from datatable) as xBar, 
   value as y, 
   (select avg(value) from datatable)  as yBar  from datatable) as d;

Любая помощь будет принята с благодарностью, спасибо.

Обновление:

Я также пытался

SELECT effortId, ( COUNT(*)*SUM(unix_timestamp(date)*value) -SUM(unix_timestamp(date))*SUM(value) ) / (COUNT(*)*SUM(unix_timestamp(date)^2)-SUM(unix_timestamp(date))^2) AS Slope FROM datatable;

и получите совершенно другой ответ (-0,0019), это более точно?Кто-нибудь знает?

1 Ответ

0 голосов
/ 09 декабря 2010

Какие единицы Х?Вероятно, вам придется явно преобразовать значения времени в ожидаемые значения, будь то секунды, часы или дни.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...