Statistik mit 3 Zahlenspeichern
Wie rechnet der DDR-Taschenrechner MR610 im Statistik-Modus?
Für die Berechnung der Summe der Fehlerquadrate, der Varianz und der
Standardabweichung sind folgende Summenformeln geläufig:
- (Arithmetischer) Mittelwert
M = (∑ xi) / N
- Summe der Fehlerquadrate
SFQ = ∑ (xi-M)²
- Varianz V = σn =
√SFQ / N (Nur für N>0)
- Standardabweichung STA = σn-1 =
√SFQ / (N-1) (Nur für N>1)
Varianz und Standardabweichung ergeben sich also aus der Summe der Fehlerquadrate SFQ,
aber weil sich der Mittelwert M bei jeder weiteren Werteingabe ändert, ändert sich
auch SFQ.
Und dennoch, es genügt, für beliebig lange Zahlenkolonnen 3 Zahlen zu speichern,
auf Grundlage des
Verschiebungssatzes:
- N (Anzahl der Daten)
- S = ∑ xi
(Summe der Daten)
- SQ = ∑ xi²
(Summe der Quadrate)
Die Rechenoperationen bei Hinzufügen (Taste DATA, DATA+):
Die Rechenoperationen beim Löschen (Taste DEL, DATA-), nur zulässig wenn N>0:
Daraus ergibt sich:
- Mittelwert M = S/N wenn N>0
- Summe der Fehlerquadrate SFQ = SQ – S2/N wenn N>0
- Varianz V = √(SQ – S²/N) / N =
√SFQ / N wenn N>0
- Standardabweichung STA = √(SQ – S²/N) / (N-1) =
√SFQ / (N-1) wenn N>1
Man beachte, wie genial sich die Summe der Fehlerquadrate berechnet!
Die Berechnung der Summe der absoluten Fehler (linear) ist nicht
so einfach (= ohne Haltung der Einzeldaten) möglich!
Nach Gauß
ist die Summe der Fehlerquadrate SFQ minimal, d. h. es lässt sich kein anderes M finden,
welches eine kleinere Fehlerquadratsumme liefert.
Rechentechnische (Geschwindigkeits- und Integer-Bitbreiten-) Betrachtung
Bemerkenswert ist, dass man beim Einschreiben nur eine Multiplikation
(Quadrieren) braucht, die gut per Tabelle realisierbar ist.
Speicherbedarf für Quadrat-Tabelle:
bits(Dmax) | Speicherbedarf | Organisation
|
---|
8 | 512 Bytes | 256*WORD
|
10 | 3 KB | 1024*3 Bytes (8-bit-Mikrocontroller)
|
4 KB | 1024*LONG (PC)
|
12 | 12 KB | 4096*3 Bytes (8-bit-Mikrocontroller)
|
16 KB | 4096*LONG (PC)
|
16 | 256 KB | 65536*LONG
|
Die Länge der Tabelle halbiert sich bei vorzeichenbehafteten Zahlen, wenn vorher der
Betrag gebildet wird.
Ansonsten nur zwei Additionen.
Vorzusehende Bitbreiten
- Für N: bits(Nmax)
- Für S: bits(Dmax) + bits(Nmax–1)
- Für SQ: 2*bits(Dmax) + bits(Nmax–1),
bei vorzeichenbehafteten D: 2*(bits(Dmax)-1) + bits(Nmax–1)
Bei Verarbeitung einer konstanten Zahlenmenge (FIFO-Speicher) bietet
sich eine Zweierpotenz der Zahlenmenge an, dann ist die Division für
die Summe der Fehlerquadrate eine Rechtsschiebeoperation.
Pro Werteingabe braucht man alle Rechenoperationen doppelt, hat aber
die Summe der Fehlerquadrate permanent verfügbar.
Anwendung
Eine günstige Anwendung des Verfahrens ist die fortlaufende Berechnung
von Effektivwerten
typischerweise elektrischer Wechselgrößen (Spannung, Strom).
Man kann zeigen, dass die numerische Effektivwertberechnung
völlig exakt für eine Abtastrate fs ist,
wenn das zu untersuchende Signal keine Frequenzanteile über
fs/2 beinhaltet (also das altbekannte
Shannonsche Abtasttheorem
erfüllt wird).
Um schwankende Anzeigen durch den
Abschneidefehler
zu vermeiden, ist es günstig, die Abtastfrequzenz per
Phasenrastschleife (PLL)
auf ein Vielfaches der zu messenden Grundfrequenz festzulegen;
vorzugsweise (für die Division) ein 2n-faches.
Steht keine PLL zur Verfügung, kann man die Periodendauer bestimmen
und jeweils durch N (Abtastwerte pro k × Periodendauer,
k ∈ ℕ je nach gewünschter Aktualisierungsrate) dividieren.