2009-07-23 8 views
6

Ich benutze ziemlich geradlinigen SQL-Code, um die Koeffizienten der Regression (Achsenabschnitt und Steigung) einiger (x, y) Datenpunkte unter Verwendung der kleinsten Quadrate zu berechnen. Dies gibt mir eine schöne Best-Fit-Linie durch die Daten. Wir würden jedoch gerne die 95% und 5% -Konfidenzintervalle für die Linie der besten Anpassung sehen (die Kurven unten).Lineare Regressionskonfidenzintervalle in SQL

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

Was diese bedeuten, dass die wahre Linie hat Wahrscheinlichkeit von 95% unterhalb der oberen Kurve des Seins und Wahrscheinlichkeit von 95% über der untere Kurve ist. Wie kann ich diese Kurven berechnen? Ich habe bereits Wikipedia usw. gelesen und etwas gegoogelt, aber ich habe keine verständlichen mathematischen Gleichungen gefunden, um dies berechnen zu können.

Bearbeiten: Hier ist die Essenz von dem, was ich gerade habe.

--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 

Vielen Dank im Voraus.

Antwort

0

@PowerUser: Er braucht die Gleichungen für zwei Variablen-Setups zu verwenden, nicht für eine variable Setups.

Matt: Wenn ich mein altes Statistik-Lehrbuch bei mir hätte, könnte ich Ihnen sagen, was Sie wollen; leider habe ich es nicht bei mir, noch habe ich meine Notizen aus meinem High School Statistik Kurs. Auf der anderen Seite, von dem, was ich mich erinnere, kann es nur Zeug für das Konfidenzintervall der Steigung der Regressionslinie ...

haben Auf jeden Fall wird diese Seite hoffentlich hilfreich sein: http://www.stat.yale.edu/Courses/1997-98/101/linregin.htm. Auch