2009-07-23 18 views
6

Korzystam z dość prostego kodu SQL, aby obliczyć współczynniki regresji (przecięcie i nachylenie) niektórych punktów danych (x, y), używając najmniejszych kwadratów. Daje mi to ładną linię najlepiej pasującą do danych. Chcielibyśmy jednak zobaczyć przedziały ufności 95% i 5% dla linii najlepszego dopasowania (krzywe poniżej).Interwały ufności regresji liniowej w SQL

link text http://www.curvefit.com/2a03be60.gif

Co to znaczy to, że prawdziwa linia ma 95% prawdopodobieństwo bycia poniżej górnej krzywej i 95% prawdopodobieństwem bycia powyżej dolnej krzywej. Jak mogę obliczyć te krzywe? Przeczytałem już wikipedię itd. I zrobiłem trochę googlowania, ale nie znalazłem zrozumiałych równań matematycznych, aby móc to obliczyć.

Edytuj: oto esencja tego, co mam teraz.

--sample data 
create table #lr (x real not null, y real not null) 
insert into #lr values (0,1) 
insert into #lr values (4,9) 
insert into #lr values (2,5) 
insert into #lr values (3,7) 

declare @slope real 
declare @intercept real 

--calculate slope and intercept 
select 
@slope = ((count(*) * sum(x*y)) - (sum(x)*sum(y)))/ 
((count(*) * sum(Power(x,2)))-Power(Sum(x),2)), 
@intercept = avg(y) - ((count(*) * sum(x*y)) - (sum(x)*sum(y)))/ 
((count(*) * sum(Power(x,2)))-Power(Sum(x),2)) * avg(x) 
from #lr 

Z góry dziękuję.

Odpowiedz

0

@PowerUser: On musi użyć równania dla dwóch zmiennych konfiguracjach, a nie dla jednej zmiennej konfiguracji.

Matt: Gdybym miał ze mną mój stary podręcznik do statystyki, byłbym w stanie powiedzieć ci, czego chcesz; niestety, nie mam go ze sobą, ani nie mam swoich notatek z kursu statystyki w szkole średniej. Z drugiej strony, z tego co pamiętam może mieć tylko rzeczy na przedział ufności nachylenia linii regresji ...

W każdym razie, ta strona będzie miała pewną pomoc: http://www.stat.yale.edu/Courses/1997-98/101/linregin.htm.

Powiązane problemy