Statistik [ERLEDIGT]
Moderator: Moderatoren
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Statistik [ERLEDIGT]
Verdammich, das Studium liegt zu lange zurück. Ich habe eine Gruppe von Daten, sagen wir Umsätze über ein Jahr - monatsweise. Im Prinzip also nur Y-Werte (X sind die Monate). Für diese Gruppe möchte ich über die Zeit (als Prognose) einen Trendwert ermitteln, oder, einfacher gesagt, eine Regressionsgerade legen, deren Steigung der Trend wäre. Natürlich könnte ich mich jetzt wieder in die steinalten Statistik-Unterlagen einfuchsen. Aber. Vielleicht hat jemand von Euch ja sowas feddisch auf dem Computer? (Pseudocode genügt.)
Herzlich,
Tom
Tom
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9367
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 102 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Statistik
Hat sich erledigt. Einfache Regression. Simple Sache, das. TWIMC: "GetTrend()" ermittelt eine Prognose für den Folgezeitraum n+1, "aArray" ist ein eindimensionales Array mit konkret aufeinanderfolgenden Daten (z.B. Umsatzzahlen für n Monate):
Anmerkung: Ich würde nicht anraten, auf Basis der hierbei entstehenden Prognosen Aktien zu kaufen.
Code: Alles auswählen
FUNCTION GetTrend(aArray)
LOCAL nAnzahl := len(aArray), nAnzMittel := 0.00, nMittel := 0.00, nSummeQuadrate := 0.00,;
nSummeProdukte := 0.00, nWerteFaktor := 0.00, nMittelReg := 0.00, nTrend := 0.00, i
FOR i := 1 TO nAnzahl
nAnzMittel += i
nMittel += aArray[i]
NEXT
nAnzMittel := nAnzMittel / nAnzahl // Mittelwert aus 1 .. 2 .. 3 .. 4 ... L„nge Array
nMittel := nMittel / nAnzahl // Mittelwert der eigentlichen Werte
FOR i := 1 TO nAnzahl
nSummeQuadrate := nSummeQuadrate + ((i - nAnzMittel)*(i - nAnzMittel))
nSummeProdukte := nSummeProdukte + ((i - nAnzMittel)*(aArray[i]-nMittel))
next
nWerteFaktor := nSummeProdukte / nSummeQuadrate
nMittelReg := nMittel - (nWerteFaktor * nAnzMittel)
nTrend := nMittelReg + (nWerteFaktor * (nAnzahl + 1))
RETURN nTrend
Herzlich,
Tom
Tom