Mam niektóre dane w bazie danych sql i chciałbym obliczyć nachylenie. Dane ma ten układ:Jak obliczyć nachylenie w SQL
Date | Keyword | Score
2012-01-10 | ipad | 0.12
2012-01-11 | ipad | 0.17
2012-01-12 | ipad | 0.24
2012-01-10 | taco | 0.19
2012-01-11 | taco | 0.34
2012-01-12 | taco | 0.45
chciałbym ostateczną wyjście wyglądać tak przez utworzenie nowej tabeli za pomocą SQL:
Date | Keyword | Score | Slope
2012-01-10 | ipad | 0.12 | 0.06
2012-01-11 | ipad | 0.17 | 0.06
2012-01-12 | ipad | 0.24 | 0.06
2012-01-10 | taco | 0.19 | 0.13
2012-01-11 | taco | 0.34 | 0.13
2012-01-12 | taco | 0.45 | 0.13
Aby komplikować, nie wszystkie słowa kluczowe mają 3 terminy warto danych, niektóre mają na przykład tylko 2.
Im prostszy SQL, tym lepiej, ponieważ moja baza danych jest prawnie zastrzeżona i nie jestem do końca pewien, jakie formuły są dostępne, chociaż wiem, że może to zrobić PONADTO (PARTYCJA PRZEZ), jeśli to pomaga. Dziękuję Ci!
UPDATE: określenia nachylenia najlepiej pasuje y = mx + p ps Excel byłoby = nachylenie()
Oto inny rzeczywisty przykład, że zwykle manipulowania w Excelu:
date keyword score slope
1/22/2012 water bottle 0.010885442 0.000334784
1/23/2012 water bottle 0.011203949 0.000334784
1/24/2012 water bottle 0.008460835 0.000334784
1/25/2012 water bottle 0.010363991 0.000334784
1/26/2012 water bottle 0.011800716 0.000334784
1/27/2012 water bottle 0.012948411 0.000334784
1/28/2012 water bottle 0.012732459 0.000334784
1/29/2012 water bottle 0.011682568 0.000334784
Spójrz na to pytanie na temat regresji liniowej w SQL. http://stackoverflow.com/questions/2536895/are-there-any-linear-regression-function-in-sql-server –
@datayoda - Jak definiujesz nachylenie? Jeśli masz więcej niż dwa punkty danych, czy właśnie wybierasz nachylenie od najwcześniejszego punktu do ostatniego punktu? Czy próbujesz narysować linię najlepszego dopasowania pomiędzy wszystkimi punktami? Jeśli tak, to używając liniowych najmniejszych kwadratów lub jakiegoś innego algorytmu? Czy chcesz zmusić linię do trafienia w jeden z punktów (wiedząc, że zmniejszy to ogólną dobroć dopasowania)? –
Istnieje kilka funkcji regresji liniowej w Oracle. http://docs.oracle.com/cd/B10501_01/server.920/a96540/functions101a.htm # 85925 –