Erdin_Projekt WLAS - Schweizer Bauernverband

Werbung
Schätzung von durchschnittlichen
Schlachtgewichten anhand von
Taxationsdaten
Projektarbeit im Rahmen des Weiterbildungslehrgangs
in angewandter Statistik des Seminars für Statistik der ETHZ
Frühjahr-Sommer 2007
Daniel K. Erdin
Dr. sc. tech. ETH
1/50
Inhaltsverzeichnis
1.
Einleitung ................................................................................................................................ 6
2.
Material und Methode.............................................................................................................. 7
3.
4.
5.
2.1.
Beschreibung der Daten .................................................................................................. 7
2.2.
Datenbezug und -handling............................................................................................... 8
2.3.
Anpassung einer Verteilung an die Daten........................................................................ 8
2.4.
Verteilung der Daten...................................................................................................... 11
2.5.
Anpassung einer t-Verteilung......................................................................................... 11
2.6.
Anpassung einer Γ-Verteilung........................................................................................ 12
2.7.
Kombination von Normal- und Γ-Verteilung ................................................................... 12
2.8.
Wahl der besten Anpassung.......................................................................................... 13
2.9.
Simulationen zum Vertrauensintervall............................................................................ 13
Resultate............................................................................................................................... 14
3.1.
Kategorie GI .................................................................................................................. 14
3.2.
Kategorie JB.................................................................................................................. 15
3.3.
Kategorie KV ................................................................................................................. 16
3.4.
Kategorie LA.................................................................................................................. 18
3.5.
Kategorie MA................................................................................................................. 19
3.6.
Kategorie MT................................................................................................................. 20
3.7.
Kategorie OB................................................................................................................. 21
3.8.
Kategorie RG................................................................................................................. 22
3.9.
Kategorie RV ................................................................................................................. 23
3.10.
Kategorie SM................................................................................................................. 24
3.11.
Kategorie VK ................................................................................................................. 25
3.12.
Kategorie Schweine....................................................................................................... 26
3.13.
Überblick ....................................................................................................................... 26
3.14.
Multinomiale Zufallszahlen ............................................................................................ 26
3.15.
Simulation...................................................................................................................... 28
Diskussion............................................................................................................................. 30
4.1.
Beurteilung .................................................................................................................... 30
4.2.
Interpretation der Verteilungen ...................................................................................... 30
4.3.
Subpopulationen............................................................................................................ 30
4.4.
Vertrauensintervalle....................................................................................................... 30
4.5.
Bedeutung der Methode ................................................................................................ 31
4.6.
Anwendung und Ausblick .............................................................................................. 31
Anhang.................................................................................................................................. 32
5.1.
Detaillierte Resultate ..................................................................................................... 32
2/50
5.2.
Glossar.......................................................................................................................... 39
5.3.
Erfolglose Versuche und anderes.................................................................................. 40
5.4.
Literatur ......................................................................................................................... 40
5.5.
R-Skripte ....................................................................................................................... 41
3/50
Dank
Mein Dank geht
•
an meine Frau und meine Kinder, da sie wohl am meisten unter meiner Fortbildung gelitten
haben.
•
an meinen Arbeitgeber, dem Schweizerischen Bauernverband, für die grosszügige
Unterstützung.
•
an meine Arbeitskollegen und Vorgesetzten, welche von meiner Abwesenheit während der
Kurse und meiner zwangsläufig reduzierten Arbeitskapazität betroffen waren.
•
an die Proviande und insbesondere Herrn Mike Schneider, welcher die Basisdaten zur
Verfügung stellt.
last but not least - an die Organisatoren, Dozenten und Assistenten des Kurses für den
interessanten Kurs und die gute Betreuung, insbesondere an Prof. Werner Stahel und Herrn
Christoph Birrer für die Unterstützung und Betreuung im Rahmen der vorliegenden Projektarbeit.
Nach vielen Jahren „Kochbuch-Statistik“ bot der Weiterbildungslehrgang des Seminars für Statistik
der ETHZ endlich die Gelegenheit zu einem vertieften Einblick und dem Gefühl, mindestens ab
und zu etwas verstanden zu haben.
4/50
Zusammenfassung
In der vorliegenden Arbeit wird eine Methode zur Schätzung von durchschnittlichen
Schlachtgewichten und Vertrauensintervallen auf der Basis der Taxationsdaten der Proviande
beschrieben. Die Taxationsdaten der Proviande liefern für die Schlachttierkategorien Gitzi,
Jungvieh, Kälber, Lämmer, ältere Stiere, Muni, Ochsen, Rinder, Jungkühe, Kühe und Schweine
grob nach Gewichtsklassen klassierte Tierzahlen nach Monaten. Die Breite der Gewichtsklassen
ist innerhalb jeder Tierkategorie konstant. Für jede Tierkategorie gibt es zudem eine untere Klasse
von der nur die obere Gewichtsgrenze bekannt ist und eine obere Gewichtsklasse, von der nur die
untere Gewichtsgrenze bekannt ist. Die Verteilung der Gewichte der betreffenden Tiere hat in
diesem Fall keine vorgegebenen festen Grenzen. Anhand der Tierzahlen in den Klassen werden
für jeden Datensatz mittels eines Anpassungstests eine optimierte t- und eine optimierte GammaVerteilung angepasst. Mit den Momenten dieser angepassten Verteilungen kann das
Durchschnittsgewicht und ein Vertrauensintervall dazu mit Berücksichtigung der untersten und
obersten Gewichtsklasse geschätzt werden.
Je nach Tierkategorie lässt sich die t-Verteilung oder die Γ-Verteilung besser an die beobachteten
Tierzahlen anpassen. Dabei weicht die geschätzte Verteilung der Gewichte gemäss
Anpassungstest oft signifikant von der beobachteten Verteilung ab. In jenen Fällen, wo sich ein
grösserer Anteil der Tiere in den Grenzklassen befindet, kann jedoch mindestens eine Methode mit
befriedigender Genauigkeit angepasst werden. Aufgrund von multinomial erzeugten Zufallszahlen
erscheinen die geschätzten Vertrauensintervalle einigermassen zuverlässig zu sein, falls eine gute
Anpassung der Verteilung vorliegt und sich nicht ein extremer Anteil der Tiere in den Grenzklassen
befindet.
Die Bedeutung der Methode hängt vom Anteil der Tiere in den Grenzklassen und der
wirtschaftlichen Bedeutung der Tierkategorie ab. Die grösste Bedeutung hat die Methode bei den
Schlachtkälbern KV, bei denen eine Korrektur des durchschnittlichen Schlachtgewichtes um 5.4 kg
zu einer Differenz von ca. 19 Millionen Franken auf Stufe Rohertrag führt. Die mit dieser Methode
geschätzten mittleren Gewichte werden seit 2006 durch den Schweizerischen Bauernverband, das
Bundesamt für Statistik und weitere Organisationen verwendet.
5/50
1.
Einleitung
Die durchschnittlichen Schlachtgewichte von Rindern, Schweinen, Schafen und Ziegen haben eine
grosse Bedeutung, da der Anteil des Rohertrags von Schlachttieren dieser Tiergattungen gemäss
der landwirtschaftlichen Gesamtrechnung für das Jahr 2003 ca. 30 % des Rohertrags des
landwirtschaftlichen Wirtschaftsbereichs beträgt (Bundesamt für Statistik 2006).
Durchschnittsgewichte nach Tierkategorien werden dementsprechend von diversen
Organisationen benötigt (u.a. Bundesamt für Statistik, Bundesamt für Landwirtschaft,
Schweizerischer Bauernverband, weitere Organisationen der Produzenten und der Verwerter).
Bis Ende 2005 (definitive Schlachtviehstatistik) bzw. März 2006 (provisorische
Schlachtviehstatistik) hat das Bundesamt für Statistik (BFS) diese Gewichte aufgrund von
monatlichen Stichprobenerhebungen in den Schlachthöfen geschätzt. Diese Erhebungen lieferten
die Ausgangsdaten für die Erstellung der Schweizerischen Schlachtviehstatistik. Da das BFS die
Schätzung der Schlachtviehstatistik in der Folge aufgegeben hat, erteilte das Bundesamt für
Landwirtschaft (BLW) dem Geschäftsbereich Statistik des Schweizerischen Bauernverbandes
(Statistik SBV) einen entsprechenden Leistungsauftrag zur Erstellung der Schlachtviehstatistik und
somit auch zur Schätzung der durchschnittlichen Schlachtgewichte. Im Gegensatz zum bisherigen
Erhebungsverfahren sollten die Resultate der neutralen Taxation der Proviande gemäss
Schlachtviehverordnung (Schweizerische Eidgenossenschaft 2006) die Basis für die Schätzung
der durchschnittlichen Schlachtgewichte bilden. Die Proviande erklärte sich bereit, diese Daten
monatlich zu liefern.
Die Klassierungsdaten der Proviande liefern Angaben zu den Tierzahlen in Gewichtsklassen nach
Tierkategorie (GI, JB, KV, MA, MT, OB, RG, RV, VK und Schlachtschweine) auf Monatsbasis.
Diese Daten dienen primär zur Kontrolle der neutralen Taxation und des dazu verwendeten
Taxationssystems (CHTAX-System bei Wiederkäuern, Magerfleischanteil bei den Schweinen). Das
Ergebnis der Taxation dient dem Schlachthof zur Festlegung des Preises des betreffenden
Schlachttieres.
Tabelle 1: Durch die Klassierungsdaten der Proviande erfasste Tierkategorien
Tierkategorie (CH-TAX)
Bedeutung
Klassifizierungssystem
GI
Gitzi Klasse I
CH-TAX
JB
Jungvieh
CH-TAX
KV
Schlachtkälber
CH-TAX
MA
Muni ältere
CH-TAX
MT
Muni ungeschaufelt
CH-TAX
OB
Ochsen bis max. 4 Schaufeln
CH-TAX
RG
Rinder bis max. 4 Schaufeln
CH-TAX
RV
Rinder/Jungkühe bis max. 4 Schaufeln
CH-TAX
VK
Kühe
CH-TAX
Schweine*
Schlachtschweine
Magerfleischanteil
* Keine Kategorie nach CH-TAX, die Schweine werden vor allem aufgrund des Magerfleischanteils bewertet
Im Rahmen der Datenerfassung durch die Proviande werden die Tiere jeder Kategorie nach
Gewichtsklassen eingeteilt, wobei die Breite der Gewichtsklassen von der Tierkategorie abhängt.
Die Gewichtsklassen haben eine untere und obere Grenze. Von den Tieren ausserhalb der
registrierten Gewichtsklassen ist nur die Anzahl und die obere respektiv die untere Grenze der
Gewichte bekannt. Die beiden Klassen ausserhalb des definierten Gewichtsbereichs werden in der
Folge als untere und obere Grenzklasse bezeichnet. In Tabelle 2 wird dies anhand der Daten für
die Kälber des Monats Januar 2005 dargestellt.
6/50
Tabelle 2:
Klasse
1
2
3
4
5
6
7
8
Gewichtsdaten der Schlachtkälber KV gemäss neutraler Taxation
vom Januar 2005
Gewichtsbereich Anzahl Tiere angenäherte
der Klasse
Klassenmitte
< 70 kg
67
unbekannt
70 - 80 kg
49
75 kg
80 - 90 kg
180
85 kg
90 - 100 kg
731
95 kg
100 - 110 kg
2 344
105 kg
110 - 120 kg
4 477
115 kg
120 - 130 kg
4 597
125 kg
> 130 kg
2 866
unbekannt
Um einen zuverlässigen Mittelwert und ein realistisches Vertrauensintervall für den Mittelwert zu
erhalten, müssen die beiden Grenzklassen, für welche der Gewichtsbereich nicht bekannt ist,
ebenfalls berücksichtigt werden, zumindest falls die beiden Anzahlen von Tieren, welche unterhalb
bzw. oberhalb des klassierten Bereichs liegen, sich deutlich unterscheiden und der Anteil der Tiere
ausserhalb der Gewichtsklassen mit bekanntem Durchschnittsgewicht relativ gross ist. Dies ist
zum Beispiel bei den Schlachtkälbern KV mit mehr als 20 % der Tiere in den beiden Grenzklassen
der Fall. Werden diese beiden Grenzklassen bei der Schätzung nicht berücksichtigt, wird die Lage
des Mittelwertes nicht zuverlässig bestimmt und die Streuung unterschätzt. Dadurch fällt auch das
Vertrauensintervall für den Mittelwert zu klein aus.
In der Folge wird eine Methode beschrieben, welche die Durchschnittsgewichte und die
Vertrauensintervalle nach Tierkategorie und Monat bzw. Jahr schätzt. Die Ausgangsidee ist die
folgende: anhand der klassierten Schlachtgewichtsdaten wird eine Verteilung gesucht, welche
möglichst der vorliegenden Datenstruktur entspricht. Mithilfe dieser Verteilung werden dann das
Durchschnittsgewicht und die Streuung bestimmt. Die vorliegende Dokumentation beschränkt sich
auf die Daten des Jahres 2005. Diese dienten zur Bestimmung der Methode und hatten den
Vorteil, dass für gewisse Kategorien noch Durchschnittsgewichte des BFS zum Vergleich
vorhanden sind.
2.
Material und Methode
2.1.
Beschreibung der Daten
In Tabelle 3 werden die Daten für das Jahr 2005 nach Tierkategorie dargestellt. Z.B. bestehen für
die Kategorie KV (Schlachtkälber) 6 Gewichtsklassen mit einer Breite von jeweils 10 kg. Der
dadurch abgedeckte Gewichtsbereich reicht von 70 bis 130 kg. 42'762 von 180'250 Kälbern bzw.
23.7 % liegen über respektive unterhalb dieser 6 Gewichtsklassen.
7/50
Tabelle 3: Struktur der Gewichtsdaten im Jahr 2005
Kategorie
Klassen
mit
Bereich
Anzahl
von
bis
Klassenbreite
Tiere total
Tiere in Klassen
mit Gewicht
Anteil
kg
kg
kg
Anzahl
Anzahl
%
GI
10
5
15
1
37
30
81.1
JB
6
80
200
20
525
501
95.4
KV
6
70
130
10
180’250
137’488
76.3
LA
6
13
25
2
51’847
46’802
90.3
MA
14
150
500
25
2’698
1’654
61.3
MT
14
150
500
25
75’930
75’831
99.9
OB
12
150
450
25
18’247
18’193
99.7
RG
14
150
500
25
42’060
41774
99.3
RV
14
150
500
25
8’008
8’006
100.0
SM
7
20
90
10
4’123
4’002
97.1
VK
14
150
500
25
114’335
114’218
99.9
Schweine
4
65
105
10
1’501’097
30’687
98.0
Bei der Kategorie MA (ältere Stiere) liegen sehr viele Tiere ausserhalb der Gewichtsklassen. Bei
den Klassen GI (Gitzi) und JB (Jungvieh) liegen insgesamt nur wenige Angaben (37 bzw. 525
Tiere) vor. Bei diesen Kategorien wurden deshalb nur Jahresdaten ausgewertet. Die Daten der
Kategorie RV (Jungkühe) mussten korrigiert werden, da von Juni bis Dezember die Daten der
untersten Klasse offensichtlich falsch erfasst worden waren.
2.2.
Datenbezug und -handling
Die Daten werden monatlich durch die Proviande als Excel-Datei zugestellt. Diese Dateien werden
über MS Access in eine SQL-Datenbank (Microsoft SQL Server) eingelesen und für die Ablage in
ein relationales Datenbankformat transformiert. Ab der SQL-Datenbank werden die Daten nach
Tierkategorie und Monat bzw. Jahr über SQL-Queries in CSV-Dateien (Semikolon als
Trennzeichen) geschrieben, welche anschliessend ins Statistik-Programm R (R Development Core
Team, 2006) importiert werden.
2.3.
Anpassung einer Verteilung an die Daten
2.3.1.
Wahl der Verteilung
Die effektive Verteilung der Schlachtgewichtsdaten ist grundsätzlich nicht bekannt. Die Tierzahlen
in den einzelnen Gewichtsklassen können durch sehr unterschiedliche Faktoren beeinflusst
werden: u.a. durch die Saison, durch die Produktionsbedingungen auf den
Landwirtschaftsbetrieben und durch das Bezahlungssystem im Schlachthof. Insbesondere kann
nicht vorausgesetzt werden, dass die Gewichte symmetrisch oder normal verteilt sind.
Grundsätzlich kann für die Gewichte G einer Tierkategorie eine beliebige Verteilung D (für
Distribution), welche durch die entsprechenden Parameter definiert ist, an die
Wahrscheinlichkeiten der Tierzahlen in den Gewichtsklassen 1 bis k angepasst werden. Dabei wird
vorausgesetzt, dass die Gewichte der Tiere gemäss der entsprechenden Verteilung der Gewichte
D(G) verteilt sind..
[1] G ~ D(G)
Zur Beurteilung der Anpassungsgüte kann ein χ2-Anpassungstest (Stahel 2002) durchgeführt
werden. Dieser erfolgt auf der Basis der beobachteten Anzahlen (N) in den vorhandenen der
Gewichtsklassen im Vergleich zu den entsprechenden geschätzten Anzahlen (Ne).
Die berechnete Testgrösse T ergibt sich somit als:
8/50
[2] T = Σi=1 bis k [(Ni - Nei)2 / Nei]
Der entsprechende Freiheitsgrad (DF) für diese Testgrössen entspricht der Anzahl Klassen
abzüglich der geschätzten Parameter korrigiert um 1:
[3] DF = k - p - 1
Klassen ohne Beobachtungen am Rand der Verteilung werden nicht berücksichtigt, so dass in der
untersten bzw. obersten verbleibenden Klasse jeweils mindestens eine Beobachtung liegt (vgl.
Stahel 2002, S. 225). Eigentlich wären für diese optimierte Klassenbildung die erwarteten Werte
massgebend, diese sind jedoch erst nach der Approximation der Verteilung bekannt. Die
folgenden Ausführungen gelten somit für die entsprechend optimierten Klassen.
Die berechnete Testgrösse sollte unter dem theoretischen Wert des Quantils der ChiquadratVerteilung für die hier gewählte Irrtumswahrscheinlichkeit α = 0.05 und die Freiheitsgrade DF
liegen. Die Parameter einer in Frage kommenden Verteilung können über die R-Funktion „optim“
bestimmt werden. Mit optim werden dabei die Parameter der gewählten Verteilung gesucht, für
welche die Testgrösse T am kleinsten wird. Für die berechnete Testgrösse als Quantil der
Chiquadrat-Verteilung kann auch die Wahrscheinlichkeit für die k - p - 1 Freiheitsgrade berechnet
werden. Der P-Wert wird dabei als 1 abzüglich der Wahrscheinlichkeit des Quantils definiert. Liegt
dieser P-Wert unter 0.05, dann entspricht dies einem signifikanten Unterschied zwischen der
angepassten Verteilung und der tatsächlichen Verteilung der vorliegenden Gewichtsdaten. Liegt
der P-Wert über 0.05, dann kann kein signifikanter Unterschied zwischen der angepassten
Verteilung und der effektiven Verteilung der Daten festgestellt werden.
2.3.2.
Schätzung des Mittelwerts
Der Mittelwert kann mit den vorhandenen Gewichtsdaten auf unterschiedliche Art geschätzt
werden. Bei der ersten und einfachsten Methode werden nur die Mittelpunkte der Klassen (zi) für
die Klassen i von 2 bis k-1 und die beobachteten Anteile der Klassen 2 bis k-1 (pk) benutzt. D.h.
die Grenzklassen werden nicht berücksichtigt. Der Mittelwert m1 ergibt sich als Summe der mit
dem jeweiligen Klassenmittelpunkte multiplizierten Tierzahlen der betreffenden Klassen dividiert
durch die Summe der Tierzahlen der Klassen 2 bis k-1.
[4] m1 = Σi=2 bis k-1 zi * Ni / Σi=2 bis k-1 Nk
Diese Schätzung weist zwangsläufig einen Bias auf, falls die Grenzklassen 1 und k existieren und
insbesondere, falls sie ungleich gross sind. Falls die Grenzklassen unbedeutend sind, z.B. bei den
Kategorien RV (Jungkühe) und VK (Kühe), dann kann diese Schätzung schon eine genügende
Genauigkeit aufweisen.
Eine Verbesserung der Schätzung wird dadurch erreicht, dass die Mittelwerte aller
Gewichtsklassen aufgrund der geschätzten Verteilung approximiert werden. In R wird dazu jede
Klasse i in 500 Subklassen (s) unterteilt, um den jeweiligen Klassenmittelwert mi zu schätzen. Die
Wahrscheinlichkeiten innerhalb der i Klassen (pis) werden anhand der approximierten Verteilung
geschätzt. Für die Berechnung des Gesamtmittelwertes werden die effektiv in den Klassen
beobachteten Tierzahlen verwendet (pi = Ni / Σi=1 bis k Ni) und nicht die aufgrund der approximierten
Verteilung geschätzten Wahrscheinlichkeiten verwendet.
[5] m2i = Σs=1 bis 500 mis * pis
[6] m2 = Σi=1 bis k m2i* pi
Eine dritte Variante besteht darin, den theoretischen Erwartungswert der approximierten Verteilung
zu übernehmen, d.h. den Erwartungswert gemäss den geschätzten Parametern der Verteilung D
für die Gewichte G.
[7] m3 = E(D(G))
2.3.3.
Überlegungen zur Varianz
Die grobe Klassierung der Taxationsdaten entspricht einer Waage, welche die Gewichte nur mit
einer Genauigkeit im Bereich der Klassenbreite der betreffenden Kategorie ermitteln kann.
9/50
Dementsprechend setzt sich die Varianz der Gewichtsdaten aus zwei Komponenten zusammen,
der Varianz innerhalb der Gewichtsklassen aufgrund der Messgenauigkeit und der Varianz
aufgrund der Abweichung der Klassenmittel vom Gesamtmittel (Varianz zwischen Klassen):
[8] var(G) = var(zwischen Klassen) + var(innerhalb der Klassen)
Die Varianz innerhalb der Klassen mit bekannter Breite (d.h. ohne die Grenzklassen) kann
approximativ anhand einer uniformen Verteilung mit der Breite der Gewichtsklassen geschätzt
werden. Die Varianz einer uniform verteilten Variablen entspricht der folgenden Formel:
[9] var(U(α,β)) = (β- α)2 / 12 bzw. = Klassenbreite2 / 12
dabei entsprechen α und β der unteren bzw. oberen Grenze der betreffenden Klasse und β- α
somit der Klassenbreite der jeweiligen Gewichtsklassen einer Kategorie.
In der Tabelle 4 werden die entsprechenden Schätzwerte für die Intra-Klassen-Varianz dargestellt.
Dabei wird die Varianz der Grenzklassen nicht berücksichtigt. Diese Klassen können breiter sein
als die restlichen Klassen und somit eine grössere Intra-Klassen-Varianz aufweisen.
Tabelle 4: Kategorie, Klassenbreite und geschätzte Intra-Klassen-Varianz
Kategorie
GI (Gitzi)
JB (Jungvieh)
KV (Kälber)
LA (Lämmer)
MA (ältere Stiere)
MT (Muni)
OB (Ochsen)
RG (Rinder)
RV (Jungkühe)
SM (Schafe)
VK (Kühe)
Schweine
2.3.4.
Klassenbreite in kg
1
20
10
2
25
25
25
25
25
10
25
10
Intra-Klassen-Varianz (Vik)
0.08
33.33
8.33
0.33
52.08
52.08
52.08
52.08
52.08
8.33
52.08
8.33
Schätzung der Gesamtvarianz
Die Gesamtvarianz kann wie der Mittelwert auf unterschiedliche Art geschätzt werden. Dabei soll
dieselbe Systematik wie für den Mittelwert verwendet werden. Zuerst wird die Varianz aufgrund der
vorhandenen Klassenmittelpunkte zi für die Klassen 2 bis k-1 berechnet, korrigiert um die
Freiheitsgrade aufgrund der Anzahl Tiere in den Klassen 2 bis k-1. Es wird der Mittelwert m1
verwendet, gemäss [4].
[10] v1 = Σ Ni=2 bis k-1/(Σ Ni=2 bis k-1 - 1) * Σi=2 bis k-1(zk-m1)2 * Ni / Σi=2 bis k-1 Ni
Falls sich Tiere in den Grenzklassen befinden, dann wird auf diese Weise die Varianz unterschätzt.
Eine Verbesserung kann durch die Unterteilung der Klassen in Subklassen wie für den Mittelwert
m2 erzielt werden. Als Gesamtmittel wird dementsprechend m2 gemäss [6] verwendet.
[11] v2 = {Σi=1 bis kΣs=1 bis 500(mis-m2)2 * Ni * pis} / ( N -1)
Die erwarteten Anzahlen in den Subklassen ergeben sich aus der geschätzten Wahrscheinlichkeit
gemäss der angepassten Verteilung und den beobachteten Tierzahlen in den Klassen. Alternativ
kann die Gesamtvarianz auch direkt aufgrund der approximierten Verteilung (D) geschätzt werden.
[12] v3 = var(D(G))
2.3.5.
Vertrauensintervall
Standardmässig wird das Vertrauensintervall des Mittelwertes (VI) definiert als
[13] VI = m ± qt * (v / N)0.5
Wobei qt dem Quantil der t-Verteilung entspricht, üblicherweise mit einer Irrtumswahrscheinlichkeit
von 5 % und dem Freiheitsgrad entsprechend der Anzahl Beobachtungen - 1.
10/50
Dies ist die korrekte Berechnungsmethode, falls der Mittelwert m und die Varianz v für eine
Stichprobe genau bekannt sind. Da die Varianz im vorliegenden Fall aufgrund von k Klassen mit p
Parametern geschätzt wird, ist dieses Vertrauensintervall sicher zu optimistisch. Grundsätzlich
müsste man auch die Qualität der Schätzung (Resultat des Anpassungstests) berücksichtigen.
Da über die Taxation in Abhängigkeit von der Tierkategorie zum Teil ein beachtlicher Teil aller
Schlachttiere der jeweiligen Zeitperiode erfasst werden, bei den Kälbern z.B. ca. 70 %, könnte man
für die Varianz grundsätzlich eine Endlichkeitskorrektur vornehmen. Auf diese wird jedoch aus
mehreren Gründen verzichtet:
•
Die definitiven Schlachtzahlen sind zum Zeitpunkt der Gewichtsschätzung noch nicht bekannt.
•
Der Einfluss ist erst ab einem hohen Anteil der erfassten Tiere von Bedeutung. In diesem Fall
wird die Varianz des Mittelwertes schon durch die entsprechend grosse Tierzahl stark
reduziert.
2.4.
Verteilung der Daten
Grundsätzlich wäre zu erwarten, dass die Tierzahlen eher rechtsschief verteilt sind. Gegen eine
herkömmliche Normalverteilung spricht die Tatsache, dass die Skala gegen unten in jedem Fall
durch 0 begrenzt wird. Allerdings wird die mögliche Schwankungsbreite der Gewichte durch die
Ansprüche der Abnehmer bezüglich Gewicht und Ausmastgrad der Schlachttiere stark
eingeschränkt. Eine Schlachtkategorie deckt somit einen vergleichsweise kurzen Zeitabschnitt der
Gesamtlebensdauer der betreffenden Ursprungstierart. Trotzdem ist zu erwarten, dass die
Verteilung eher rechtsschief ist. Mit diesen Vorgaben wurden mehrere Verteilungen geprüft. Am
geeignetsten erschienen die t-Verteilung (vgl. Engineering Statistics Handbook, 2006) und die
Gamma-Verteilung (vgl. WolframMathWorld, 2006, in der Folge als Γ-Verteilung bezeichnet). Die tVerteilung lässt im Gegensatz zur Normalverteilung eine breitere Verteilung der Werte zu. Sie ist
jedoch ebenfalls symmetrisch und hat keine festen Grenzen. Die Γ-Verteilung ist gegen unten
durch 0 begrenzt und nicht symmetrisch. Sie ist eine sehr flexible Verteilungsform.
Es kann jedoch nicht davon ausgegangen werden, dass die Gewichtsdaten einer Kategorie mit
Sicherheit aus einer homogenen Verteilung stammen. In jeder Kategorie kann man sich
Subpopulationen denken. Es sollen einige Beispiele aufgeführt werden.
•
Die Tiere einer Kategorie können unterschiedlichen Rassen angehören, insbesondere
Milchrassen und Mastrassen bei der Rindergattung.
•
Die unterschiedliche Professionalität der Halter kann einen Einfluss ausüben:
Gelegenheitsmäster und spezialisierte Mastbetriebe.
•
Die unterschiedlichen Haltungsarten und Mastformen können von Bedeutung sein. Bei Rindern
und Ochsen sind dies z.B. die konventionelle, eher intensive Mast und die eher extensive Mast
im Rahmen der Mutterkuhhaltung (Natura Beef). Dies kann zu unterschiedlichen
Schlachtgewichten führen.
2.5.
Anpassung einer t-Verteilung
Es wird angenommen, dass die Gewichte (G) der Tiere an eine t-Verteilung (TV) angepasst
werden können. Für die t-Verteilung muss zusätzlich zu den Parametern der Normalverteilung
(Erwartungswert und Varianz) noch die Anzahl Freiheitsgrade (φ) geschätzt werden. Falls der
Parameter φ gegen unendlich strebt, so ergibt sich die Normalverteilung. Die Verteilung der
Gewichtsdaten aufgrund einer t-Verteilung wird dementsprechend durch das Durchschnittsgewicht
(µ), die Streuung (σ2) und die Anzahl Freiheitsgrade (φ) definiert.
[14] (G - µ) / σ ~ TV(φ) bzw. G = σ * TV(φ) + µ
Die Streuung der t-Verteilung ist folgendermassen bestimmt:
[15] var(TV) = φ /( φ -2)
11/50
Dementsprechend ergibt sich die Varianz der Gewichtsdaten aufgrund einer approximierten
Verteilung gemäss [12].
Als Startwerte für die Anpassung mit der R-Funktion optim werden m=m1, s=v10.5 und φ =10
gewählt. Mit diesen Vorgaben konvergierte die Funktion optim mit den Standardeinstellungen
(Methode Nelder-Mead) für die vorliegenden Daten immer.
2.6.
Anpassung einer Γ-Verteilung
Es wird angenommen, dass die Gewichte an eine Γ-Verteilung angepasst werden können.
[16] G ~ Γ(α,θ)
Dabei entspricht α dem Shape-Parameter und θ dem Scale-Parameter, durch welche die
Γ-Verteilung definiert wird. Gegenüber der t-Verteilung muss hier also ein Parameter weniger
geschätzt werden. Alternativ kann die Γ-Verteilung auch mit dem Rate-Parameter (ρ) anstelle des
Scale-Parameters definiert werden, dabei gilt
[17] ρ = 1 / θ
Auch diese Verteilung lässt sich mit der R-Funktion optim wie zuvor beschrieben anpassen. Als
Startwerte werden a=m1/10 und r=0.1 gewählt. Aufgrund der Γ-Verteilung kann die Varianz
geschätzt werden als
[18] v3 = var(Γ(G)) = αθ2 bzw. α(1/ρ)2
Der theoretische Erwartungswert der Verteilung ergibt sich als
[19] m3 = α * θ bzw. α / ρ
Als Startwerte für die Anpassung mit optim werden r=0.1 und a=m1*r gewählt. Mit diesen
Vorgaben konvergierte die Funktion optim mit den Standardeinstellungen (Methode Nelder-Mead)
für die vorliegenden Daten immer.
2.7.
Kombination von Normal- und Γ-Verteilung
Falls weder die t- noch die Γ-Verteilung mit Erfolg angepasst werden können, soll die Hypothese
überprüft werden, ob allenfalls mehrere Verteilungen zusammenspielen. Um möglichst wenig
Parameter schätzen zu müssen, wird dazu eine Kombination einer Normal- und einer Γ-Verteilung
verwendet. Dazu müssen die 4 Parameter der beiden Verteilungen und ein Gewichtungsfaktor für
die beiden Verteilungen bestimmt werden. Würde anstelle der Normalverteilung auch hier die tVerteilung approximiert, müsste noch ein Parameter mehr geschätzt werden. Dabei ist schon bei
einer Kombination von Normal- und Γ-Verteilung die Wahl geeigneter Startwerte essentiell und
nicht immer einfach.
Es wird somit angenommen, dass die Gewichte an eine Kombination einer Normal- und einer ΓVerteilung angepasst werden können mit den Parametern
µ = Erwartungswert der Normalverteilung
σ = Standardabweichung der Normalverteilung
α = Shape-Parameter der Γ-Verteilung
ρ = Rate-Parameter der Γ-Verteilung
w = Anteil der Normalverteilung, wobei 0 ≤ w ≤ 1
1 - w = Anteil der Γ-Verteilung
Auch diese Kombination lässt sich mit der R-Funktion optim wie zuvor beschrieben anpassen.
Allerdings ist es hier möglich, dass der Algorithmus nicht konvergiert bzw. keine sinnvollen
Lösungen ergibt. Der theoretische Erwartungswert der kombinierten Verteilung ergibt sich als
[20] m3 = w * µ + (1-w) * α / ρ
Die Varianz kann folgendermassen berechnet werden:
[21] v3 = w * [σ2 + (µ - m3)2] + (1-w) * [α(1/ρ)2 + (α / ρ - m3)2]
12/50
Dies entspricht der gewichteten Summe der Varianzen der beiden Verteilungen sowie der
gewichteten Abweichungen der Erwartungswerte der beiden Verteilungen vom Gesamtmittelwert.
2.8.
Wahl der besten Anpassung
Um die Verteilungen anpassen zu können, müssen mindestens k = p + 1 Klassen vorhanden sein,
d.h. eine Klasse mehr als Parameter geschätzt werden. Somit können bei den Schweinen mit 6
Klassen jeweils nur die t- oder die Γ-Verteilung alleine angepasst werden. Bei den Kategorien mit 8
Klassen scheint sich die Anpassung der Kombination kaum zu empfehlen, da im besten Fall (falls
keine Klassen zusammengelegt werden müssen) 2 Freiheitsgrade für eine gleichzeitige Schätzung
von zwei Verteilungen verbleiben.
Tabelle 5; Verteilungen und zu schätzende Parameter
Verteilung
Anzahl Parameter (p)
Γ-Verteilung
2
t-Verteilung
3
Kombination Normal- und Γ-Verteilung
5
Für die Entscheidung, ob die Resultate der Γ-Verteilung oder t-Verteilung verwendet werden soll,
wird der P-Wert des betreffenden Anpassungstestes verwendet. D.h. 1 abzüglich der
Wahrscheinlichkeit für den gefundenen T-Wert gemäss der Chiquadrat-Verteilung für die k-p-1
Freiheitsgrade. Falls dieser Wert grösser als 0.05 ist, so kann die Hypothese, dass die Verteilung
mit Erfolg angepasst worden ist, beibehalten werden. Dementsprechend wird die Verteilung mit
dem grösseren P-Wert bevorzugt.
2.9.
Simulationen zum Vertrauensintervall
2.9.1.
Multinomial verteilte Zufallsdaten
Um die Zuverlässigkeit des berechneten Vertrauensintervalls zu kontrollieren, werden anhand der
in den Klassen vorhandenen Daten multinomial verteilte Zufallszahlen generiert.
G ~ M(N,k)
Die Ausgangsparameter N (Anzahl Tiere), k (Anzahl Klassen) und die entsprechenden
Wahrscheinlichkeiten der Klassen werden dabei vom Datensatz, d.h. von den beobachteten
Werten, übernommen. Mit der R-Funktion rmultinom können auf dieser Basis Zufallswerte für die
Tierzahlen in den k Klassen erzeugt werden. Anschliessend wird für jeden Datensatz die
Verteilung angepasst. Anhand der Quantile der resultierenden Mittelwerte kann ein
Vertrauensintervall geschätzt werden. Diese Methode wurde insbesondere bei den Kälbern
angewandt.
2.9.2.
Zufallsstichproben
Die Zuverlässigkeit des Vertrauensintervalls bei steigendem Anteil der Tiere in den Grenzklassen
wird anhand von Simulationen überprüft. Bei den Kälbern KV werden dazu Zufallsstichproben aus
einer Kombination von Normal- und Γ-Verteilung erstellt. Der Erwartungswirt wird zunehmend
erhöht, so dass immer mehr Tiere in der oberen Grenzklasse anfallen. Für jedes Sample wird die tVerteilung approximiert. Auf diese Weise wird geprüft, wie exakt die Approximation der Daten ist,
falls sich zunehmend mehr Tiere in den Grenzklassen befinden.
Es wurden 200 Stichproben mit jeweils 20’000 Werten erzeugt. Es wurden die folgenden
Ausgangsparameter benutzt:
µ
= 105
σ
= 13
rate = 0.3
shape = µ * rate
13/50
Die Anteile der beiden Verteilungen wurden für die Normalverteilung auf 70 % und für die ΓVerteilung auf 30 % festgesetzt. Für jedes neue Sample wurde µ um 0.2 kg erhöht.
Bei den älteren Stieren werden Zufallsstichproben anhand einer reinen Gammaverteilung simuliert.
Der Erwartungswert der Verteilung wird dabei zunehmend erhöht, während die Gesamtvarianz
stabil gelassen wird. Durch die Vorgabe des Erwartungswertes und der Varianz können die
Parameter (Shape, Rate) bestimmt werden.
3.
Resultate
3.1.
Kategorie GI
Bei der Kategorie GI liegen für das ganze Jahr 2005 nur die klassierten Gewichte von 37 Tieren
vor. Es wird deshalb nur ein Mittelwert für das Jahr 2005 geschätzt. Die unterste Klasse ist nicht
besetzt und entfällt somit. Die Γ-Verteilung lässt sich etwas besser anpassen als die t-Verteilung
(T-Wert von 8.9 mit einem P-Wert von 0.353). Die Korrektur des Mittelwertes (m1 = 8.8 kg, m2 =
10.6 kg) ist relativ gross. Der korrigierte Wert stimmt recht gut mit dem Mittel des BFS (11 kg)
überein. Die Präzision ist gering mit einem VI von [8.8,12.9]. Auch der unkorrigierte Mittelwert m1
liegt noch in diesem Intervall. Eine Anpassung der Kombination aus Normal- und Γ-Verteilung
erübrigt sich, da die Anpassung der t- und der Γ-Verteilung keine signifikante Abweichung ergibt.
Grafik 1:
Kategorie GI, Daten 2005 mit angepasster Γ-Verteilung (T-Wert = 8.9, P-Wert =
03.53)
14/50
3.2.
Kategorie JB
Die Kategorie JB sind junge Faseltiere, welche eher zur Weitermast als zur Schlachtung verkauft
werden. Deshalb liegen bei der Kategorie JB im Vergleich zu den anderen Kategorien insgesamt
für das Jahr 2005 nur wenig Datensätze vor (N = 525). Es wird deshalb wie bei den Gitzi ebenfalls
nur ein Jahreswert geschätzt. Dabei ist die Güte der Anpassung für die t- und die Γ-Verteilung sehr
ähnlich (Tt = 7.3, TG = 7.8 mit entsprechenden P-Werten von 0.121 bzw. 0.170). Beide
Verteilungen ergeben beinahe dasselbe Resultat. Übernommen wird das Resultat der Γ-Verteilung
mit 148.9 kg und einem VI von [146.5,151.3]. Dieser Wert liegt 2.3 kg höher als der unkorrigierte
Mittelwert m1. Allerdings liegt der unkorrigierte Mittelwert m1 noch im Vertrauensintervall.
Grafik 2:
Kategorie JB, Daten 2005 mit angepasster Γ-Verteilung
(T-Wert = 7.8, P-Wert = 0.170)
15/50
3.3.
Kategorie KV
Bei der wichtigen Kategorie Schlachtkälber KV sind insgesamt 23.7 % der Tiere ohne
Gewichtsangabe. Die t-Verteilung lässt sich um ein Vielfaches besser anpassen als die ΓVerteilung, mit T-Werten von 1.9 bis 42.5. Die approximierte t-Verteilung weicht nur in 5 der 12
Monate mit einem P-Wert < 0.05 von den vorhandenen Daten ab. Der approximierte Mittelwert der
t-Verteilungen (m2) liegt im Durchschnitt 5.3 kg über dem unkorrigierten Mittelwert (m1). Ähnlich
gut wie die t-Verteilung lässt sich die Kombination von Normal- und Γ-Verteilung anpassen.
Allerdings scheint die Gefahr einer Überanpassung relativ gross zu sein, da aufgrund von 8
Klassen 2 Verteilungen mit 5 Parametern angepasst werden. Die Mittelwerte und
Vertrauensintervalle werden deshalb mit der t-Verteilung geschätzt. Die Vertrauensintervalle für
den Mittelwert liegen im Bereich von ± 0.2 bis 0.3 kg.
Grafik 3: Kategorie KV, Daten April 2005 mit angepasster t-Verteilung
(T-Wert = 8.8, P-Wert = 0.067)
16/50
Ein Vergleich der Mittelwerte des BFS für das Jahr 2005 mit den approximierten Mittelwerten für
2005 und 2006 zeigt einen ausgeprägt saisonalen Verlauf der Mittelwerte. Der Verlauf der
Mittelwerte ist dabei für die Jahre 2005 und 2006 sehr ähnlich. Allerdings liegen die BFSMittelwerte 2005 immer tiefer. Ohne den Ausreisser im Monat April beträgt die Differenz im Mittel
0.6 kg. Allerdings scheint der BFS-Wert für April 2005 aufgrund der CHTAX-Daten 2005 sowie
2006 nicht sehr realistisch zu sein.
Schlachtgewicht in kg / Preis in Fr./kg SG
Grafik 4:
Mittelwerte des BFS für das Jahr 2005 und approximierte Mittelwerte für die
Jahre 2005 sowie 2006, Preise1 pro kg Schlachtgewicht für die Jahre 2005 sowie
2006, alle Werte nach Monat.
124
15.5
123
15.0
122
14.5
121
14.0
120
13.5
119
13.0
118
12.5
117
12.0
116
11.5
Gewicht BFS 2005
Gewicht Geschätzt 2005
Gewicht Geschätzt 2006
Preis 2005 (Fr./kg SG)
Preis 2006 (Fr./kg SG)
115
11.0
1
2
3
4
5
6
7
8
9
10
11
12
Monat
1
Realisierte Preise inkl. MwSt gemäss Proviande für die Herkunft QM Schweizer Fleisch und die Qualität T3
Eine mögliche Erklärung für den saisonalen Verlauf der Gewichtskurve besteht darin, dass
aufgrund der Milchkontingentierung ab Ende Winter der Anteil jener Kälber zunimmt, welche v.a.
mit Vollmilch gemästet werden. Die Mast mit Vollmilch führt zu einer verspäteten Schlachtreife und
dementsprechend höheren Schlachtgewichten. Dies ist die Ursache für den Anstieg zu Beginn des
Jahres und die hohen Werte in den Monaten April und Mai sein. Anschliessend reduziert sich der
Anteil der Kälber aus Vollmilchmast und bei gleichzeitig sinkenden Preisen gehen die Kälber im
Durchschnitt leichter an die Schlachtbank. Im Herbst ziehen die Preise normalerweise wieder an
und die Produzenten versuchen ihren Ertrag über höhere Schlachtgewichte zu optimieren. Gegen
Ende Jahr werden die Schlachtgewicht auf Grund der zu erwartenden tiefen Preise anfangs des
Folgejahres wieder abgesenkt.
17/50
3.4.
Kategorie LA
Bei der Kategorie LA haben insgesamt 9.7 % der Tiere keine Gewichtsangabe. Diese Tiere sind
jedoch recht gleichmässig in der untersten und obersten Klasse verteilt und nicht so einseitig wie
bei den Kälbern. Dies balanciert allfällige Schätzfehler tendenziell wieder etwas aus. Die tVerteilung lässt sich eher besser anpassen (T=8.9 bis 128.1) als die Γ-Verteilung (T=21.6 bis
163.9). Allerdings weichen beide Verteilungen jeweils signifikant von der gegebenen Verteilung der
Daten ab (mit Ausnahme der t-Verteilung bei den Dezember-Daten). Aus praktischer Sicht günstig
ist dabei jedoch der Umstand, dass es keinen relevanten Unterschied (Differenz ≤ 0.1 kg)
zwischen den aufgrund der beiden unterschiedlichen Verteilungen geschätzten Mittelwerten gibt.
Der geschätzte Mittelwert (m2) liegt im Durchschnitt 0.3 kg über dem unkorrigierten Mittelwert
(m1). Die Kombination aus Normal- und Γ-Verteilung lässt sich sehr gut anpassen, allerdings ergibt
dies nochmals dieselben Resultate. Die Vertrauensintervalle liegen im Bereich von ± 0.1 bis 0.2
kg.
Grafik 5: Kategorie LA, Daten Mai 2005 mit angepasster t-Verteilung
(T-Wert = 25.9, P-Wert < 0.001)
18/50
3.5.
Kategorie MA
38.7 % der Tiere dieser Kategorie haben keine Gewichtsangabe, die betreffenden Tiere befinden
sich ausschliesslich in der obersten Gewichtsklasse. Die Kategorie MA (ältere Stiere) weist eine
sehr grosse Varianz der Gewichte auf. Dies lässt sich dadurch erklären, dass diese Kategorie
Tiere von sehr unterschiedlichem Alter erfassen kann. Das Gewicht variiert von den
vergleichsweise tiefen Gewichten deklassierter Mastmuni bis zu den hohen Gewichten von alten
Zuchtstieren. Von den 16 möglichen Klassen sind vor allem die unteren schlecht besetzt und die
Anzahl Klassen muss mit einer Ausnahme auf 11 bis 15 Klassen reduziert werden. Bei den Daten
des Jahres 2005 lässt sich die Γ-Verteilung in 10 von 12 Fällen besser anpassen als die tVerteilung (T-Wert von 13.7 bis 26.5 gegenüber 2.9 bis 34.6). Der Mittelwert m1 liegt
durchschnittlich um 76 kg tiefer als der mit der Γ-Verteilung geschätzte Mittelwert m2. Das
Vertrauensintervall ist mit ± 13 bis 23 kg sehr breit. Die Kombination aus Normal- und Γ-Verteilung
lässt sich zwar gut schätzen, ist jedoch nicht wirklich erforderlich, da die Anpassung der ΓVerteilung nur in 2 von 12 Monaten eine signifikante Abweichung ergibt.
Grafik 6: Kategorie MA, Daten April 2005 mit angepasster Γ-Verteilung
(T-Wert = 7.5, P-Wert = 0.482)
19/50
3.6.
Kategorie MT
Bei der Kategorie MT sind nur 1.1 % der Tiere ohne Gewichtsangabe. Die obersten
Gewichtsklassen sind wenig besetzt, weshalb bei vier Monaten die Anzahl Klassen von 16 auf 15
bzw. 14 reduziert wurde. Die t-Verteilung lässt sich um ein Vielfaches besser anpassen als die ΓVerteilung, allerdings mit relativ hohen T-Werten von 73.5 bis 381.8 gegenüber 1317.4 bis 2181.9
bei der Γ-Verteilung. Die entsprechenden P-Werte liegen für beide Verteilungen alle unter 0.001.
Der Unterschied zwischen dem approximierten Mittelwert m2 und dem Mittelwert ohne
Grenzklassen m1 ist jedoch für beide Verteilungen gering. Die Kombination aus Normal- und
Γ-Verteilung lässt sich weitaus besser anpassen (mit T-Werten von 12.6 bis 56.8), ohne dass sich
daraus eine relevante Differenz zum Schätzer m1 oder zum Schätzer m2 gemäss t-Verteilung
ergeben würde. Interessant ist in diesem Zusammenhang, dass der Anteil der Normalverteilung im
Bereich von 68 bis 80 % und somit konstant hoch geschätzt wird. Dies entspricht der Erwartung,
dass der Anteil konventionell gemästeter Tiere mit hohen Schlachtgewichten bei dieser Kategorie
relativ hoch sein sollte bei einem kleineren Anteil leichterer Tiere aus der Mutterkuh- bzw.
Weidehaltung.
Grafik 7: Kategorie MT, Daten September 2005 mit angepasster Kombination aus Normalund Γ-Verteilung (T-Wert = 12.6, P-Wert = 0.247)
20/50
3.7.
Kategorie OB
Bei der Kategorie OB liegen nur 0.3 % der Tiere ausserhalb des definierten Gewichtsbereichs und
zwar alle in der unteren Grenzklasse. Aufgrund der schwach besetzten oberen Klassen müssen
die Klassen mit einer Ausnahme von 14 auf 11 bis 13 Klassen reduziert werden. Die Γ-Verteilung
(T-Werte von 11.9 bis 53.9) lässt sich leicht besser anpassen als die t-Verteilung (T-Werte von
13.6 bis 97.9). Die Resultate der beiden Methoden sind jedoch sozusagen identisch und die
Korrektur der Gewichte ist gering bei einer mittleren Differenz von 0.3 kg zwischen m1 und m2.
Sehr gut anpassen lässt sich die Kombination aus Normal- und Γ-Verteilung (T-Werte von 6.4 bis
39.0), wobei die Anteile der beiden Verteilungen wohl in etwa den beiden Subpopulationen aus
Mutterkuhhaltung bzw. Weidemast (eher leichter) sowie aus konventioneller Mast (eher schwerer)
entsprechen. Aufgrund der nachfolgenden Grafik ergibt sich effektiv der Eindruck, dass die
Verteilung aus mindestens zwei Subpopulationen gebildet wird.
Grafik 8: Kategorie OB, Daten Januar 2005 mit angepasster Kombination aus Normal- und
Γ-Verteilung (T-Wert = 15.0, P-Wert = 0.020)
21/50
3.8.
Kategorie RG
Nur 0.7 % der Rinder haben keine Gewichtsangabe. Diese Tiere liegen wie bei den Ochsen alle in
der unteren Grenzklasse. Da die oberen Klassen sehr schwach besetzt sind, wird die Anzahl
Klassen auf 12 bis 15 Klassen herabgesetzt. Die Γ-Verteilung (T-Werte von 50.5 bis 196.3) lässt
sich besser anpassen als die t-Verteilung (T-Werte von 80.1 bis 173.2), wobei keine relevante
Differenz zwischen den Resultaten besteht. Allerdings ist die Abweichung von der effektiven
Verteilung immer signifikant. Der approximierte Mittelwert m2 liegt im Mittel 0.8 kg unter dem Wert
m1. Die Kombination aus Normal- und Γ-Verteilung kann gut angepasst werden (T-Werte von 6.7
bis 46.6). Dabei ist der Anteil der Normalverteilung mit 8 bis 34 % recht einheitlich. Allenfalls
könnte es sich hier wie bei den Ochsen um die Anteile von Tieren aus Mutterkuhhaltung bzw.
Weidemast (eher leichtere Tiere) und aus konventioneller Mast (eher schwerere Tiere) handeln.
Auch rein optisch (vgl. Grafik 9) hat man wie schon bei den Ochsen den Eindruck, dass die
Verteilung kaum von einer homogenen Population stammen kann.
Grafik 9: Kategorie RG, Daten Juli 2005 mit angepasster Kombination aus Normal- und ΓVerteilung (T-Wert = 6.7, P-Wert = 0.593)
22/50
3.9.
Kategorie RV
Bei der Kategorie RV sind die Ausgangsdaten von Juni 2005 bis Dezember 2005 offensichtlich
nicht korrekt. In diesen 7 Monaten sind bis 40 % der Tiere in der untersten Klasse ohne Gewicht,
während ansonsten 0 oder 1 Tier in diese Klasse fallen. Diese offensichtlich falschen Werte
werden deshalb nicht berücksichtigt. Leider konnte nicht eruiert werden, was die Ursache für diese
fehlerhaften Daten war. Die Klassenzahl muss immer korrigiert werden, von 16 auf 11 bis 15
Klassen. Es ergibt sich so gut wie keine Differenz zwischen m1 und m2. Die t-Verteilung lässt sich
eher leicht besser anpassen als die Γ-Verteilung, allerdings ergibt sich kein Unterschied bei den
Resultaten. Bei den doch recht tiefen T-Werten der t-Verteilung (2.6 bis 27.6), welche nur in 4
Fällen eine signifikante Abweichung ergaben, kann die Kombination von Normal- und Γ-Verteilung
kaum ein besseres Resultat erbringen. Zudem scheint diese Kategorie auch optisch homogener zu
sein als jene der Kategorien OB und RG.
Grafik 10: Kategorie RV, Daten Juni 2005 mit angepasster t-Verteilung (T-Wert = 8.6,
P-Wert = 0.285)
23/50
3.10.
Kategorie SM
3 % der Schafe haben im Jahr 2005 keine Gewichtsangabe. Es liegen eher wenig klassierte
Gewichte vor (N = 4123). In den oberen Klassen sind nur wenige Tiere, weshalb nur in 2 Monaten
8 Klassen berücksichtigt werden konnten und sich die Anzahl Klassen in allen anderen auf 6 bis 7
Klassen reduzierte. Die Γ-Verteilung lässt sich mit T-Werten von 0.2 bis 28.4 besser anpassen als
die t-Verteilung (T-Werte von 3.8 bis 35.2). Die approximierten Mittelwerte sind jedoch für die tVerteilung und die Γ-Verteilung exakt dieselben und sind im Mittel 0.6 kg tiefer als die
unkorrigierten Mittelwerte m1. Die Anpassung der Kombination ist bei 6 bis 8 Klassen kaum
sinnvoll.
Grafik 11: Kategorie SM, Daten Oktober 2005 mit angepasster Γ-Verteilung
(T-Wert = 10.1, P-Wert = 0.039)
24/50
3.11.
Kategorie VK
Es sind immer alle 16 Klassen besetzt, allerdings nur mit wenigen Tieren in den äussersten
Klassen, so dass nur 0.1 % der Kühe ausserhalb der definierten Gewichtsklassen liegen. Es ergibt
sich deshalb nur eine unbedeutende Korrektur des Mittelwertes von m1 zu m2 von durchschnittlich
0.1 kg. Die Γ-Verteilung lässt sich immer besser anpassen als die t-Verteilung, allerdings sind auch
diese T-Werte relativ hoch (27.6 bis 272.5) und die approximierten Verteilungen weichen somit
immer signifikant von der effektiven Verteilung der Daten ab. Besser anpassen lässt sich die
Kombination aus Normal- und Γ-Verteilung (T-Werte von 15.9 bis 104.7). Allerdings ergibt auch
diese Anpassung identische Resultate für die Mittelwerte.
Grafik 12: Kategorie VK, Daten Juli 2005 mit angepasster t-Verteilung (T-Wert = 245.8, PWert < 0.001)
25/50
3.12.
Kategorie Schweine
Nur 2.0 % der Schweine liegen in den Grenzklassen 1 und 6. Die t-Verteilung kann besser
angepasst werden als die Γ-Verteilung, allerdings ist die Anpassung sehr schlecht (T-Werte von
154.4 bis 1164.9). Zwischen den Resultaten aus den beiden approximierten Verteilungen gibt es
jedoch keinen Unterschied. Da der Anteil der Tiere in der oberen Grenzklasse bedeutend grösser
ist als in der unteren, liegt der geschätzte Mittelwert m2 im Mittel rund 0.3 kg über dem Mittelwert
m1. Bei der grossen Anzahl von Schlachtschweinen hat auch diese geringe Differenz noch eine
gewisse Bedeutung.
Grafik 13:
3.13.
Schweine, Daten August 2005 mit angepasster t-Verteilung (T-Wert = 238.7, PWert < 0.001)
Überblick
Bei den Kategorien mit hohen Anteilen von Tieren in den Grenzklassen kann jeweils mindestens
eine der beiden einfachen Verteilungen mit befriedigender Genauigkeit approximiert werden. Dies
ist v.a. von Bedeutung für die wichtige Klasse KV. Bei den Tierkategorien mit einer sehr schlechten
Anpassung, d.h. insbesondere bei den Schweinen und weniger ausgeprägt bei den Muni MT, den
Rindern RG und den Kühen VK, ist nur ein geringer Anteil der Tiere in den Grenzklassen, womit
die Bedeutung der Approximation stark relativiert wird.
3.14.
Multinomiale Zufallszahlen
Die Überprüfung der Mittelwerte und der Vertrauensintervalle mit multinomial erzeugten
Zufallszahlen bei der Kategorie KV ergibt eine recht gute Übereinstimmung. Schon mit 99
multinomial generierten Pseudodatensätzen ist das Vertrauensintervall stabil. Wie in Tabelle 6
gezeigt wird, weicht das berechnete Vertrauensintervall kaum vom standardmässig berechneten
Vertrauensintervall (vergleiche [14]) ab. Zudem sind die Mittelwerte (vgl. Grafik 14) annähernd
normal verteilt.
26/50
Tabelle 6: Geschätzte Mittelwerte, Vertrauensintervalle und multinomial geschätzte
Vertrauensintervalle für die Kategorie KV
Jahr-Monat
geschätzter
Mittelwert
VI
von
bis
multinomial
von
bis
2005-01
119.4
119.2
119.7
119.2
119.7
2005-02
120.6
120.4
120.9
120.4
120.9
2005-03
121.1
120.9
121.3
120.9
121.4
2005-04
123.3
123.1
123.5
123.0
123.4
2005-05
122.4
122.2
122.7
122.1
122.6
2005-06
120.9
120.6
121.1
120.7
121.3
2005-07
122.3
122.0
122.6
122.0
122.6
2005-08
123.3
123.0
123.5
122.9
123.4
2005-09
122.0
121.7
122.3
121.8
122.2
2005-10
121.2
120.8
121.5
120.8
121.5
2005-11
119.7
119.4
120.0
119.4
120.1
2005-12
115.6
115.3
115.8
115.4
115.9
Grafik 14: Verteilung der aufgrund von multinomial verteilten Pseudozufallszahlen
geschätzten Mittelwerte, 99 Mittelwerte, Kategorie KV Januar 2005
27/50
3.15.
Simulation
Kälber KV
Die Resultate der Simulation für 200 Zufallsstichproben mit steigendem Erwartungswert ergeben
für die Kälber KV das in Grafik 15 gezeigte Resultat.
Grafik 15:
Abweichung der approximierten Mittelwerte vom Erwartungswert der
Stichprobe (Abw. theoretisch) und vom effektiven Mittelwert der Stichprobe
(Abw. effektiv), Bereich des Vertrauensintervalls (VI oben, VI unten) und mit
0.02 skalierte T-Werte gemäss Anteil Tiere in den Grenzklassen
0.6
0.5
0.4
0.3
Abw. theoretisch
0.2
Wert
Abw. effektiv
0.1
VI oben
VI unten
0.0
T-Wert * 0.02
-0.1
-0.2
-0.3
74.0
69.3
63.2
58.2
53.3
46.7
41.2
35.2
30.2
25.1
20.9
17.5
13.8
10.7
8.6
6.7
5.6
4.5
-0.4
Anteil der Kälber KV in den Grenzklassen (%)
Es zeigt sich, dass der T-Wert tendenziell mit steigendem Anteil der Tiere in den Grenzklassen
leicht sinkt und somit die Güte der Anpassung mit steigendem Anteil der Tiere in den
Grenzklassen eher überschätzt wird. Allerdings liegt die Abweichung des geschätzten Mittelwertes
in den überwiegenden Fällen innerhalb der Bandbreite des geschätzten Vertrauensintervalls. Die
Approximation wird erst ab einem sehr hohen Anteil der Tiere in den Grenzklassen unzuverlässig,
in etwa ab 50 %. Der Anteil Tiere in den Grenzklassen liegt bei den Kälbern KV jedoch im Bereich
zwischen 19 und 29 %, d.h. in einem Bereich, in welchem das Vertrauensintervall gemäss
Simulation noch zuverlässig ist. Da die einzelnen Stichproben aufgrund des Anteils der ΓVerteilung leicht rechtsschief verteilt sind, weist der geschätzte Mittelwert im vorliegenden Fall
jedoch einen systematischen Bias auf. Er wird durchschnittlich um 0.1 kg zu tief geschätzt.
28/50
Ältere Stiere MA
Die Resultate der Simulation für 200 Zufallsstichproben mit steigendem Erwartungswert bei
konstanter Varianz (15000) ergeben für die Stiere MA das in Grafik 16 gezeigte Resultat.
Grafik 16:
Abweichung der approximierten Mittelwerte vom Erwartungswert der
Stichprobe (Abw. theoretisch) und vom effektiven Mittelwert der Stichprobe
(Abw. effektiv), Bereich des Vertrauensintervalls (VI oben, VI unten) und mit 0.5
skalierte T-Werte gemäss Anteil Tiere in den Grenzklassen
12
10
8
6
4
Abw. theoretisch
Wert
2
Abw. effektiv
VI oben
0
VI unten
T-Wert * 0.2
-2
-4
-6
-8
18
.9
21
.8
23
.7
26
.1
28
.9
32
.6
32
.6
36
.2
40
.5
43
.0
46
.8
50
.8
53
.8
56
.2
60
.3
61
.3
66
.0
70
.3
72
.7
76
.4
-10
Anteil der Stiere MA in den Grenzklassen (%)
Im Gegensatz zu den Kälbern KV liegt der T-Wert immer in einem ähnlichen Bereich. Das
Vertrauensintervall scheint sogar bis zu einem Anteil von etwa 60 % der Tiere in den Grenzklassen
zuverlässig zu sein.
Insgesamt stellen die Simulationen die Zuverlässigkeit der Methode nicht in Frage und die
berechneten Vertrauensintervalle werden im Anwendungsbereich der Approximationen nicht in
Frage gestellt.
29/50
4.
Diskussion
4.1.
Beurteilung
Bei den Tierkategorien mit einem relevanten Anteil an Tieren in den Grenzklassen (v.a. GI, JB, KV,
LA, MA, allenfalls auch SM) kann mindestens eine der beiden einfachen Verteilungen (t-Verteilung,
Γ-Verteilung) befriedigend angepasst werden. Allerdings kann bei einem grösseren Anteil Tieren in
den Grenzklassen ein gewisser systematischer Bias nicht ausgeschlossen werden. Das
Vertrauensintervall bleibt jedoch in einem weiten Bereich zuverlässig. Auf jeden Fall ergibt sich
eine Verbesserung gegenüber einer Mittelwertsschätzung ohne Einbezug der Grenzklassen.
Bei den übrigen Kategorien ist der Einfluss der Grenzklassen ohnehin gering. Der aufgrund der
korrigierten Klassenanzahl vorgegebene Chiquadrat-Wert kann dabei jedoch meistens nicht
unterschritten werden. D.h. es ergeben sich kleine P-Werte, welche eine signifikante (< 0.05) bzw.
z.T. eine hoch signifikante (< 0.001) Abweichung der angepassten Verteilung von der effektiven
Verteilung der Gewichte bedeuten. Ein befriedigender Anpassungstest kann v.a. dort erreicht
werden, wo kleine Tierzahlen vorhanden sind (Kategorien GI, JB und MA). In den restlichen
Kategorien ist die Abweichung vom Chiquadrat-Wert häufig signifikant, jedoch kaum von relevanter
Bedeutung. t- und Γ-Verteilung liefern meist sehr ähnliche Schätzwerte. Falls sich Unterschiede bei
den Schätzwerten - insbesondere beim Mittelwert - ergeben, so kann eine Verteilung auch deutlich
besser approximiert werden. Die Frage nach der zu verwendenden Verteilung lässt sich somit
aufgrund der P-Werte klar beantworten oder ist nicht von Bedeutung.
4.2.
Interpretation der Verteilungen
Eine Schlachtkategorie ist bezüglich der möglichen Gesamtlebensdauer der entsprechenden
Tierart eine mehr oder weniger enge Auswahl von Tieren. Somit könnte eine mögliche Erklärung
für die unterschiedliche Anpassungsgüte der t- und der Γ-Verteilung darin bestehen, dass bei sehr
homogenen Tierkategorien bezüglich Alter und Gewicht (z.B. KV, LA, MT, Schweine) eher die tVerteilung geeignet ist. Bei Tieren mit eher breiterer Herkunft bezüglich Alter und Gewicht (JB, MA,
OB, RG, RV, SM und VK) ist dementsprechend eher die Γ-Verteilung geeignet, da in diesem Falle
die Gewichte nach oben weiter streuen können.
4.3.
Subpopulationen
Insbesondere bei den Kategorien MT, OB, RG und VK kann festgestellt werden, dass die Daten
kaum von einer homogenen Verteilung stammen können. Bei diesen Kategorien lässt sich eine
Kombination aus Normal- und Γ-Verteilung meist besser anpassen als eine einzelne Verteilung.
Die Wahl der beiden Verteilungen erfolgt im vorliegenden Fall ziemlich willkürlich mit dem Ziel, die
Approximation möglichst einfach zu ermöglichen und die Anzahl Freiheitsgrade nicht zu stark zu
reduzieren. Aus der Praxis ist bekannt, dass die Schlachttierkategorien nicht in jedem Fall
homogenen Populationen entsprechen müssen. Eine Kombination aus zwei Verteilungen kann
jedoch nur dort sinnvoll angepasst werden, wo aus der Sicht der vorliegenden Arbeit eigentlich
kein Bedarf danach besteht, nämlich bei Schlachttierkategorien mit zahlreichen Klassen und einem
geringen Anteil von Tieren in den Grenzklassen. Für eine präzise Aufteilung der
Schlachttierkategorien in zwei Subpopulationen müssten zudem deutlich mehr Gewichtsklassen
oder kontinuierliche Messungen vorliegen. Zudem müssten wohl auch weitere
Verteilungskombinationen untersucht werden. Dies ist jedoch nicht das Ziel der vorliegenden
Arbeit.
4.4.
Vertrauensintervalle
Die Vertrauensintervalle sind im Rahmen dieser Arbeit von untergeordneter Bedeutung, da in der
Praxis einfach die berechneten Mittelwerte verwendet werden, ohne dass jemand aufgrund dieser
Mittelwerte eine Fehlerschätzung durchführen würde. Die durchgeführten Simulationen stellen die
30/50
berechneten Vertrauensintervalle nicht grundsätzlich in Frage. Offensichtlich ist auch der Einfluss
der Messungenauigkeit bzw. der Klassenbildung (vgl. Tabelle 4 und geschätzte Gesamtvarianzen
v3 in den Tabellen des Anhangs) gering. Die durch die Klassenbildung verursachte Varianz beträgt
nur wenige Prozent der Gesamtvarianz. Die klassierten Daten können auch aus dieser Perspektive
gut für die Schätzung des Mittelwertes verwendet werden.
4.5.
Bedeutung der Methode
Ein Vergleich der Resultate der Approximation aufgrund der Proviande-Daten mit den
Erhebungsdaten des BFS (2007) fällt positiv aus bei den Kategorien, wo der Vergleich möglich ist
(GI, KV, Schweine). Die Abweichungen sind gering. Die beschriebene Methode liefert einen
besseren Schätzwert für den Mittelwert und ein zuverlässigeres (breiteres) Vertrauensintervall als
wenn nur die Klassen 2 bis k-1 mit bekannten Mittelwerten berücksichtigt werden. Die grösste
praktische Bedeutung hat die Methode bei der Kategorie KV. Bei 265'519 geschlachteten Kälbern
im Jahr 2005 ergibt die Korrektur des Mittelwertes um durchschnittlich 5.4 kg eine Menge von
32’117 t gegenüber 30’680 t ohne Korrektur, d.h. eine zusätzliche Menge von 1’438 t bzw. 4.7 %.
Pro Kopf der Bevölkerung ergibt dies einen zusätzlichen Bruttoverbrauch von 193 g
Schlachtgewicht im Jahr 2005. Wirtschaftlich gesehen entspricht dies bei einem durchschnittlichen
Produzentenpreis von ca. 13 Fr./kg pro kg Schlachtgewicht ab Hof einer Differenz von ca. 19 Mio.
Franken oder 1 bis 2 Promille des landwirtschaftlichen Gesamtrohertrages (Bundesamt für Statistik
2006). Aber auch bei anderen Tierkategorien haben geringfügige Anpassungen beachtliche
Auswirkungen. So ergibt eine Differenz von 0.3 kg pro Schlachttier bei mehr als 2.7 Mio. im Jahr
2005 geschlachteten Schweinen eine zusätzliche Schlachtgewichtsmenge von rund 800 Tonnen.
4.6.
Anwendung und Ausblick
Die Methode wird inzwischen standardmässig durch die Statistik SBV verwendet. Es werden zur
Kontrolle generell immer die t- und die Γ-Verteilung angepasst und die Mittelwerte m2 berechnet.
Übernommen werden bis auf weiteres für die Kategorien KV, LA, MT, RV und Schweine der
anhand der t-Verteilung geschätzte Mittelwert m2, für die Kategorien GI, JB, MA, OB, RG, SM und
VK der anhand der Γ-Verteilung geschätzte Mittelwert m2. Die Resultate werden als
Durchschnittsgewichte für weitere Berechnungen durch SBV Statistik und das BFS verwendet.
Fraglich ist, ob diese Methode mittelfristig den Ansprüchen des BFS im Rahmen des
Statistikabkommens der Schweiz mit der EU genügen wird. Die Methode liefert jedoch mit einem
relativ bescheidenen Aufwand recht präzise Daten. Der einzige Wechsel der aus dieser Sicht
anzustreben wäre, ist die Registrierung und Übermittlung von unklassierten Gewichten im Rahmen
der Taxation. Dies würde jedoch vor allem eine technische Vereinfachung darstellen, ohne dass
dadurch die Präzision der Durchschnittsgewichte als Schätzwert für die jeweilige
Gesamtpopulation an Schlachttieren wesentlich verbessert werden könnte.
31/50
5.
Anhang
5.1.
Detaillierte Resultate
Es werden für jede Tierkategorie die wichtigsten Resultate angezeigt.
5.1.1.
Kategorie Gitzi GI (nur Jahresdaten)
Basisdaten
Periode
Tiere
total
37
2005
unterste Klasse
0
ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
8.8
6.0
oberste Klasse
7
t-Verteilung
Periode
Klassen
T
Chi2
P-Wert
m3
s
f
v3
m2
VI
2005
11
12.6
14.1
0.083
9.6
3.56
3
38.1
10.8
[8.8,12.9]
Γ-Verteilung
Periode
Klassen
T
Chi2
P-Wert
m3
shape
rate
v3
m2
VI
2005
11
8.9
15.5
0.353
10.5
6.02
0.58
18.2
10.6
[9.2,12.0]
5.1.2.
Kategorie Jungvieh JB (nur Jahresdaten)
Basisdaten
Periode
2005
Tiere
total
525
unterste Klasse
3
ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
146.6
561.5
oberste Klasse
21
t-Verteilung
Periode
Klassen
T
Chi2
P-Wert
m3
s
f
v3
m2
VI 95 %
2005
8
7.3
9.5
0.121
148.5
26.4
23.8
761.5
148.8
[146.5,151.2]
Periode
Klassen
T
Chi2
P-Wert
m3
shape
rate
v3
m2
VI 95 %
2005
8
7.8
11.1
0.170
148.5
27.8
0.2
795.0
148.9
[146.5,151.3]
Γ-Verteilung
5.1.3.
Kategorie Kälber KV
Basisdaten
Periode
2005-01
Anzahlen
total
15311
unterste Klasse
67
oberste Klasse
2866
2005-02
15274
47
3297
115.5
101.8
2005-03
18648
59
4274
115.8
96.8
2005-04
19745
48
5597
116.9
90.4
2005-05
17763
54
4688
116.3
97.1
2005-06
14729
49
3431
115.1
115.5
2005-07
14331
53
3706
116.3
97.6
2005-08
14279
35
4061
116.8
90.0
2005-09
14053
42
3559
116.1
97.3
2005-10
11048
49
2574
115.7
100.8
2005-11
11456
59
2382
114.6
112.4
2005-12
13613
79
1686
112.5
114.3
32/50
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
115.0
99.1
t-Verteilung
Periode
Klassen
T
Chi2
P-Wert
m3
s
f
v3
m2
VI 95 %
2005-01
8
38.2
9.5
0.000
119.4
11.0
5.0
200.9
119.4
[119.2,119.7]
2005-02
8
9.4
9.5
0.052
120.7
11.0
4.9
207.2
120.6
[120.4,120.9]
2005-03
8
6.1
9.5
0.189
121.1
11.1
5.1
203.6
121.1
[120.9,121.3]
2005-04
8
8.8
9.5
0.067
123.3
11.0
5.1
200.0
123.3
[123.1,123.5]
2005-05
8
7.6
9.5
0.107
122.4
11.2
4.8
214.9
122.4
[122.2,122.6]
2005-06
8
42.5
9.5
0.000
120.9
11.8
4.7
241.9
120.9
[120.6,121.1]
2005-07
8
6.7
9.5
0.150
122.3
11.0
4.4
221.6
122.3
[122.0,122.5]
2005-08
8
1.9
9.5
0.762
123.2
11.1
5.2
199.7
123.3
[123.0,123.5]
2005-09
8
9.4
9.5
0.052
122.0
11.3
5.1
208.6
122.0
[121.8,122.2]
2005-10
8
20.6
9.5
0.000
121.2
11.2
4.6
222.6
121.2
[120.9,121.4]
2005-11
8
16.2
9.5
0.003
119.8
11.7
4.6
240.1
119.7
[119.4,120.0]
2005-12
8
27.8
9.5
0.000
115.6
11.2
5.2
205.5
115.6
[115.3,115.8]
5.1.4.
Kategorie Lämmer LA
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
3718
5509
5644
4321
4434
4299
2978
4403
5933
3082
3556
3970
unterste Klasse
150
137
291
55
128
138
77
131
168
55
101
233
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
19.2
7.4
19.1
6.4
19.0
7.1
19.4
6.6
19.2
7.0
18.8
7.1
18.9
6.9
18.8
7.2
19.1
7.0
19.1
7.2
19.1
7.6
19.3
8.0
oberste Klasse
283
289
396
381
283
208
172
300
292
176
354
247
t-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
T
12.4
52.7
27.2
128.1
25.9
42.2
45.5
97.2
22.9
70.0
97.2
8.9
Chi2
9.5
9.5
9.5
9.5
9.5
9.5
9.5
9.5
9.5
9.5
9.5
9.5
P-Wert
0.014
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.064
m3
19.4
19.2
19.0
19.8
19.4
18.9
19.0
19.0
19.2
19.3
19.5
19.3
s
3.1
2.6
2.9
3.0
2.9
2.9
2.8
3.0
2.9
3.1
3.4
3.4
f
4.46
3.97
3.25
5.98
5.12
5.84
4.46
4.45
7.14
14.41
6.56
6.39
v3
17.0
13.1
21.7
13.1
13.6
12.6
13.9
15.8
11.7
11.2
16.7
16.5
33/50
m2
19.5
19.3
19.2
20.0
19.5
19.0
19.2
19.2
19.3
19.4
19.7
19.3
VI 95 %
[4.5,19.4]
[4.0,19.2]
[3.3,19.1]
[6.0,19.9]
[5.1,19.4]
[5.8,18.9]
[4.5,19.0]
[4.4,19.1]
[7.1,19.2]
[14.4,19.3]
[6.6,19.5]
[6.4,19.2]
5.1.5.
Kategorie ältere Stiere MA
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
177
157
163
221
312
254
199
270
310
232
241
162
Γ-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
5.1.6.
Klassen
15
13
13
11
13
15
13
12
16
14
11
12
unterste Klasse
0
0
0
0
0
0
0
0
1
0
0
0
T
18.8
16.1
11.7
7.5
7.7
21.8
26.5
4.4
17.6
12.7
8.8
3.7
Chi2
21.0
18.3
18.3
15.5
18.3
21.0
18.3
16.9
22.4
19.7
15.5
16.9
oberste Klasse
60
69
69
109
121
109
87
98
103
76
91
51
P-Wert
0.093
0.097
0.307
0.482
0.659
0.040
0.003
0.883
0.173
0.316
0.363
0.932
m3
453.0
485.2
484.4
505.8
479.0
487.3
476.6
468.4
455.7
454.6
470.5
457.8
shape
12.9
11.1
17.1
16.4
18.3
13.4
13.1
17.8
12.6
18.0
18.3
18.4
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
389.5
3198.9
389.5
3198.9
410.4
2408.0
412.5
1889.0
411.1
2598.5
405.3
2650.7
392.4
2172.9
392.4
2172.9
403.1
2571.5
392.8
3066.3
398.7
2371.3
402.7
2239.5
rate
0.029
0.023
0.035
0.032
0.038
0.027
0.028
0.038
0.028
0.040
0.039
0.040
v3
15880
21171
13696
15593
12524
17774
17304
12322
16446
11482
12074
11381
m2
458.0
490.5
488.6
508.6
480.3
493.1
485.8
469.6
460.5
458.1
471.8
458.7
VI 95 %
[439.3,476.7]
[467.5,513.4]
[470.5,506.7]
[492.1,525.2]
[467.8,492.7]
[476.6,509.5]
[467.4,504.2]
[456.3,482.9]
[446.2,474.9]
[444.3,472.0]
[457.9,485.8]
[442.1,475.3]
Kategorie Muni MT
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
1421
1298
1247
1473
1601
1328
1521
1623
1760
1343
2046
1586
unterste Klasse
2
3
4
6
12
12
11
8
7
9
5
6
oberste Klasse
0
0
1
0
1
3
3
1
2
0
2
1
34/50
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
254.2
2169.3
252.8
1824.7
258.9
1701.9
260.1
1593.3
260.5
1851.7
262.0
1864.3
254.8
1628.9
249.1
1679.6
242.7
1708.4
244.5
1972.7
244.5
1976.1
243.6
1850.9
t-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
5.1.7.
T
120.1
138.8
135.6
133.3
381.8
192.3
73.5
89.9
99.1
107.5
100.2
184.6
Chi2 P-Wert m3
s
19.7 0.000 296.6 22.6
19.7 0.000 297.5 23.1
21.0 0.000 296.9 24.5
18.3 0.000 301.8 23.9
21.0 0.000 298.7 29.4
21.0 0.000 297.7 26.7
21.0 0.000 294.1 24.2
21.0 0.000 292.4 25.2
21.0 0.000 289.2 24.3
18.3 0.000 289.0 21.1
21.0 0.000 289.9 21.4
21.0 0.000 290.4 21.6
f
3.6
3.4
3.9
3.6
3.7
3.3
3.8
4.2
3.1
3.1
3.4
3.3
v3
1142
1316
1220
1280
1909
1775
1242
1208
1650
1271
1097
1191
m2
294.8
295.5
295.3
300.0
295.6
295.2
292.7
291.1
287.9
287.3
288.8
288.1
VI 95 %
[294.0,295.7]
[294.6,296.4]
[294.5,296.2]
[299.2,300.8]
[294.6,296.6]
[294.1,296.2]
[291.7,293.6]
[290.2,292.0]
[286.9,289.0]
[286.4,288.2]
[288.0,289.6]
[287.2,288.9]
Kategorie Ochsen OB
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
1421
1298
1247
1473
1601
1328
1521
1623
1760
1343
2046
1586
Γ-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Klassen
12
12
11
11
12
13
12
13
11
13
12
14
unterste Klasse
2
3
4
6
12
12
11
8
7
9
5
6
T
53.9
42.9
35.4
21.0
33.1
32.4
20.4
11.9
18.9
33.3
45.5
49.1
Chi2
16.9
16.9
15.5
15.5
16.9
18.3
16.9
18.3
15.5
18.3
16.9
19.7
oberste Klasse
0
0
1
0
1
3
3
1
2
0
2
1
P-Wert
0.000
0.000
0.000
0.007
0.000
0.000
0.015
0.289
0.015
0.000
0.000
0.000
m3
254.4
253.7
259.2
260.5
260.3
261.8
254.7
249.2
242.3
244.2
244.4
244.0
shape
28.9
34.1
37.2
41.4
34.9
33.9
38.5
36.9
34.6
30.2
29.8
30.6
35/50
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
254.2
2169.3
252.8
1824.7
258.9
1701.9
260.1
1593.3
260.5
1851.7
262.0
1864.3
254.8
1628.9
249.1
1679.6
242.7
1708.4
244.5
1972.7
244.5
1976.1
243.6
1850.9
rate
0.114
0.134
0.144
0.159
0.134
0.130
0.151
0.148
0.143
0.124
0.122
0.125
v3
2241
1888
1805
1638
1943
2019
1687
1682
1695
1971
2004
1946
m2
253.8
252.8
258.6
260.0
260.1
261.4
254.4
248.9
242.4
244.1
244.0
243.4
VI 95 %
[251.4,256.3]
[250.4,255.1]
[256.2,260.9]
[257.9,262.1]
[257.9,262.2]
[259.0,263.8]
[252.4,256.5]
[246.9,250.9]
[240.5,244.3]
[241.7,246.5]
[242.1,246.0]
[241.3,245.6]
5.1.8.
Kategorie Rinder RG
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
3579
3256
3254
3262
4011
3028
2826
3567
3832
3279
4400
3766
Γ-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
5.1.9.
Klassen
15
12
14
15
13
13
13
12
15
14
12
13
unterste Klasse
27
17
17
11
22
20
14
24
35
25
43
31
T
196.3
141.8
92.2
74.5
128.6
65.2
50.5
75.5
106.7
89.4
171.2
183.9
Chi2
21.0
16.9
19.7
21.0
18.3
18.3
18.3
16.9
21.0
19.7
16.9
18.3
oberste Klasse
0
0
0
0
0
0
0
0
0
0
0
0
P-Wert
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
m3
260.9
255.5
257.3
251.9
255.1
253.1
248.3
248.7
249.4
252.0
251.6
253.4
shape
26.0
25.5
26.2
27.1
24.9
24.5
27.9
26.4
23.4
25.4
24.0
23.9
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
261.2
2387.4
255.7
2426.3
257.7
2410.2
252.2
2295.9
255.5
2482.3
253.8
2527.8
248.9
2172.6
249.2
2258.3
250.1
2523.2
252.7
2393.2
252.1
2441.8
254.0
2531.8
rate
0.100
0.100
0.102
0.108
0.098
0.097
0.112
0.106
0.094
0.101
0.095
0.094
v3
2615
2563
2525
2341
2612
2616
2211
2343
2660
2495
2639
2691
m2
260.3
255.1
257.1
251.8
254.8
253.0
248.3
248.4
249.1
251.8
251.0
253.0
VI 95 %
[258.6, 261.9]
[253.4, 256.8]
[255.3, 258.8]
[250.1, 253.4]
[253.2, 256.4]
[251.2, 254.9]
[246.6, 250.1]
[246.8, 250.0]
[247.4, 250.7]
[250.1, 253.5]
[249.5, 252.5]
[251.4, 254.7]
Kategorie Jungkühe RV
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
827
718
724
566
694
526
424
591
674
781
814
670
unterste Klasse
0
0
0
0
1
0
0
0
0
0
0
0
oberste Klasse
0
0
0
1
0
0
0
0
1
0
0
0
36/50
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
285.8
1804.9
282.7
1688.9
283.6
1910.5
284.8
1765.6
284.6
2071.3
280.2
2593.4
276.9
2496.4
269.3
2243.2
277.0
2005.4
280.0
2111.4
282.2
2188.7
290.0
2241.7
t-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
T
20.9
11.6
14.3
27.6
11.3
8.6
2.6
11.4
10.5
15.3
11.9
22.1
Chi2
16.9
14.1
14.1
19.7
18.3
14.1
15.5
12.6
19.7
16.9
18.3
16.9
P-Wert
0.013
0.114
0.047
0.004
0.336
0.285
0.959
0.076
0.486
0.083
0.290
0.009
m3
284.4
281.5
282.8
282.7
283.2
279.5
276.4
271.3
276.1
279.6
280.9
288.1
s
37.6
36.7
41.9
39.3
40.2
38.9
42.7
38.8
37.3
37.7
37.0
39.0
f
7.6
8.5
19.6
7.2
7.5
3.3
6.1
3.8
5.1
4.9
4.5
5.1
v3
1911
1756
1954
2142
2203
3902
2719
3204
2281
2395
2460
2499
m2
285.8
282.7
283.6
284.8
284.6
280.2
276.9
269.4
277.0
280.1
282.3
290.0
VI 95 %
[282.9, 288.8]
[279.6, 285.8]
[280.3, 286.8]
[281.0, 288.6]
[281.1, 288.1]
[274.9, 285.6]
[271.9, 281.9]
[264.8, 273.9]
[273.4, 280.6]
[276.6, 283.5]
[278.8, 285.7]
[286.2, 293.8]
5.1.10. Kategorie Schafe SM
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
325
270
342
390
420
470
358
399
299
265
292
293
Γ-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Klassen
6
7
7
7
7
8
8
6
7
7
7
6
unterste Klasse
1
1
1
10
17
10
19
13
16
13
10
10
T
11.4
14.6
14.5
6.7
2.8
28.4
10.4
5.8
25.8
10.1
2.6
0.2
Chi2
7.8
9.5
9.5
9.5
9.5
11.1
11.1
7.8
9.5
9.5
9.5
7.8
oberste Klasse
0
0
0
0
0
1
1
0
0
0
0
0
P-Wert
0.010
0.006
0.006
0.153
0.595
0.000
0.065
0.121
0.000
0.039
0.628
0.973
m3
37.7
35.8
36.7
36.6
34.3
34.0
34.1
33.1
32.2
33.2
34.3
34.5
shape
15.1
13.4
13.6
11.8
12.7
12.1
10.2
15.0
11.0
13.3
13.6
14.1
37/50
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
37.8
99.4
35.7
92.3
36.8
104.1
36.5
111.3
34.1
89.3
33.5
78.7
33.8
104.4
33.0
72.1
31.3
72.7
32.7
69.9
34.1
82.2
34.4
81.5
rate
0.400
0.375
0.371
0.322
0.371
0.357
0.299
0.454
0.341
0.400
0.398
0.410
v3
94.4
95.3
99.0
113.6
92.3
95.3
114.1
72.8
94.3
82.9
86.2
84.0
m2
37.7
35.7
36.8
36.6
34.2
33.6
33.9
33.0
31.4
32.8
34.1
34.5
VI 95 %
[36.5, 39.0]
[34.3, 37.0]
[35.6, 38.0]
[35.3, 37.8]
[33.1, 35.3]
[32.6, 34.6]
[32.6, 35.3]
[32.0, 34.1]
[30.1, 32.8]
[31.4, 34.1]
[32.9, 35.4]
[33.1, 35.8]
5.1.11. Kategorie Kühe VK
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
10868
8390
8431
7106
10500
7820
7456
10391
11588
11606
12004
8175
Γ-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Klassen
16
16
16
16
16
16
16
16
16
16
16
16
unterste Klasse
1
4
2
2
4
2
2
12
3
3
13
4
T
66.4
78.0
47.0
27.6
49.3
33.0
61.9
115.2
127.0
70.6
272.3
82.2
Chi2
22.4
22.4
22.4
22.4
22.4
22.4
22.4
22.4
22.4
22.4
22.4
22.4
oberste Klasse
7
8
8
6
8
4
4
5
5
2
4
4
P-Wert
0.000
0.000
0.000
0.010
0.000
0.002
0.000
0.000
0.000
0.000
0.000
0.000
m3
302.4
305.3
306.9
306.3
301.5
302.6
294.7
291.0
289.7
292.6
296.6
301.4
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
302.1
2’143
305.5
2’299
306.9
2’406
306.2
2’506
301.4
2’513
302.7
2’537
294.6
2’393
291.5
2’301
289.6
2’223
292.7
2’004
297.5
2’185
301.8
2’180
shape
42.1
38.9
38.8
37.1
36.0
36.5
36.6
35.6
38.0
43.1
37.5
40.2
rate
0.139
0.127
0.126
0.121
0.119
0.120
0.124
0.122
0.131
0.147
0.126
0.133
v3
2169
2396
2429
2528
2523
2512
2371
2376
2209
1987
2346
2261
m2
302.2
305.5
306.9
306.2
301.4
302.7
294.6
291.5
289.6
292.7
297.5
301.8
VI 95 %
[301.3, 303.1]
[304.5, 306.6]
[305.8, 307.9]
[305.1, 307.4]
[300.5, 302.4]
[301.6, 303.8]
[293.5, 295.7]
[290.6, 292.4]
[288.7, 290.5]
[291.9, 293.5]
[296.7, 298.4]
[300.8, 302.8]
5.1.12. Kategorie Schweine
Basisdaten
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
Anzahlen
total
130249
118796
132464
128323
128567
134961
108000
121487
122797
113477
138421
123555
unterste Klasse
583
448
493
443
586
636
582
664
632
426
664
850
oberste Klasse
2640
2462
2520
2908
2322
1957
1112
963
1471
2220
2154
951
38/50
Momente ohne Grenzklassen
Mittelwert (m1)
Varianz (v1)
85.9
53.1
86.6
52.5
86.7
53.8
87.1
53.5
86.2
52.8
85.1
52.6
84.5
50.9
85.0
52.5
85.6
54.2
86.7
54.8
86.3
55.5
84.4
52.6
Γ-Verteilung
Periode
2005-01
2005-02
2005-03
2005-04
2005-05
2005-06
2005-07
2005-08
2005-09
2005-10
2005-11
2005-12
5.2.
Klassen
6
6
6
6
6
6
6
6
6
6
6
6
T
1049.8
1115.8
810.2
1164.9
690.4
937.7
484.3
238.7
477.4
1018.9
698.0
154.4
Chi2
6.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
P-Wert
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
m3
86.0
86.3
86.5
86.8
86.0
84.9
84.3
85.0
85.5
86.5
86.2
84.4
shape
6.3
6.3
6.5
6.6
6.2
6.1
5.9
6.3
6.5
6.7
6.8
6.2
rate
4.9
5.1
6.3
6.0
5.2
4.9
5.2
7.6
7.2
7.0
7.9
6.8
v3
66.2
64.8
62.5
65.0
63.1
61.9
56.1
53.3
58.2
63.6
61.4
54.6
m2
86.3
86.6
86.7
87.1
86.2
85.1
84.5
85.0
85.6
86.7
86.3
84.4
VI 95 %
[86.2, 86.3]
[86.5, 86.6]
[86.7, 86.7]
[87.1, 87.1]
[86.2, 86.3]
[85.1, 85.2]
[84.4, 84.5]
[85.0, 85.1]
[85.5, 85.6]
[86.6, 86.7]
[86.3, 86.4]
[84.4, 84.5]
Glossar
Shape-Parameter der Γ-Verteilung
Scale-Parameter der Γ-Verteilung
Mittelwert der Normal- oder t-Verteilung
Rate-Parameter der Γ-Verteilung
Standard-Abweichung der Normal- oder t-Verteilung
Freiheitsgrad-Parameter der t-Verteilung
Verteilung (Distribution)
Freiheitsgrade
Geschätzte Freiheitsgrade für die t-Verteilung
Gewicht
Gitzi I
Index
Anzahl Klassen
Jungvieh der Rindergattung
Schlachtkälber
Mittelwert ohne die untere und die obere Grenzklassen
Mittelwert aus allen Klassen. Alle Klassenmittelwerte mit der approximierten
Verteilung geschätzt, aber mit den effektiven Anzahlen der Klassen gewichtet.
m3:
Theoretischer Mittelwert der angepassten Verteilung.
MA:
Ältere Muni
MFA:
Magerfleischanteil, Klassierungsmethode für die Schlachtschweine
MT:
Mastmuni
N:
Beobachtete Anzahl
Ne:
Erwartete, theoretische Anzahl
OB:
Ochsen
p:
Anzahl Parameter
P-Wert:
1 - Wahrscheinlichkeit des T-Wertes aufgrund der Chiquadrat-Verteilung
rate:
Parameter der Γ-Verteilung
s:
Standardabweichung
RG:
Rinder
RV:
Jungkühe
Schlachtgewicht: Gewicht des Schlachtkörpers, entspricht in etwa 50 % des Lebendgewichts
shape:
Parameter der Γ-Verteilung
T-Wert:
Berechneter Wert des Anpassungstestes
v1-v3:
Varianzen, analog berechnet zu m1 bis m3.
VI95:
Geschätztes 95%-Vertrauensintervall des Mittelwertes.
VK:
Kühe
Klassenmittelpunkte (eigentlich Mediane) der i Gewichtsklassen
zi:
α:
θ:
µ:
ρ:
σ:
φ:
D:
DF:
f:
G:
GI:
i:
k:
JB:
KV:
m1:
m3:
39/50
5.3.
Erfolglose Versuche und anderes
Ein modifizierter Anpassungstest mit nach Tierzahlen gewichteten Abweichungen der
beobachteten gegenüber den erwarteten Anzahlen konnte nicht überzeugen. Die effektiven
Anzahlen in den Klassen werden ja für die Schätzung des Gesamtmittelwertes berücksichtigt.
Deshalb wird der übliche Anpassungstest benutzt.
Transformationen (Logarithmus, Wurzel) der Daten ergaben keine brauchbaren Resultate, da die
Daten insgesamt einer t-Verteilung oder Γ-Verteilung doch am besten entsprechen und dies
untransformiert.
Andere Verteilungen (NV, Power normal distribution) führten in den meisten Fällen zu einer
schlechteren Anpassung. Mit der Power normal distribution konnte für die Kategorie RG noch eine
geringe Verbesserung der Anpassungsgüte erreicht werden. Die Unterschiede zu den
approximierten Mittelwerten der Γ-Verteilung waren jedoch nicht relevant (≤ 0.1 kg).
Eine Optimierung der angepassten t- oder Γ-Verteilung mit der Box-Cox-Methode verbesserte die
Anpassung auf der Basis des Chiquadrat-Wertes nicht mehr relevant. Die Schätzwerte für den
Mittelwert blieben unverändert.
Bei den unterschiedlichen Methoden für optim war offensichtlich (gemäss Anpassungstest) die
Standardmethode („Nelder & Mead“) am besten geeignet.
Bei der Kategorie RV lagen im Jahr 2005 in den Monaten Juni bis Dezember offensichtlich
fehlerhafte Daten vor mit mehr als der Hälfte der Tiere unterhalb von 150 kg Schlachtgewicht. Die
Proviande konnte zu diesem offensichtlichen Fehler keine Informationen liefern. Da in dieser
Kategorie kaum Tiere zu erwarten waren, wurde der Wert jeweils auf 0 gesetzt, d.h. die
betreffende Klasse entfernt.
Bei den Simulationen stiess ich zeitlich an Grenzen. Sie waren jedoch hilfreich, um die Probleme
bei der Varianzschätzung etwas einzugrenzen und um die Zuverlässigkeit der Approximation einer
Kombination von Verteilungen zu schätzen.
Eine grundlegende Erkenntnis: Am besten ist es, wenn man nur ganz wenig Daten hat: Dann lässt
sich fast jede Verteilung ohne signifikante Abweichung anpassen. Zudem hat man weniger
Arbeit…
5.4.
Literatur
Bundesamt für Statistik (2007): Daten Primärsektor - Fleischproduktion.
www.agr.bfs.admin.ch/ReportFolders/ReportFolders.aspx
Bundesamt für Statistik (2006). Landwirtschaftliche Gesamtrechnung, Land- und Forstwirtschaft /
wirtschaftliche Ergebnisse. www.bfs.admin.ch
Engineering Statistics Handbook (2006): Gallery of Distributions.
www.itl.nist.gov/div898/handbook/eda/section3/eda366.htm
Proviande (2005, 2006): Realisierte Preise von Schlachtvieh. www.proviande.ch
R Development Core Team (2006). R: A language and environment for statistical computing. R
Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0. www.R-project.org
Schweizerische Eidgenossenschaft (2006). Verordnung über den Schlachtvieh- und Fleischmarkt
(Schlachtviehverordnung, SV), Stand 27.6.2006. www.admin.ch/ch/d/sr/916_341/index.html
Stahel, Werner A. (2002): Statistische Datenanalyse. Eine Einführung für Naturwissenschaftler.
4., verb. Auflage, Vieweg Friedrich + Sohn.
Statistik SBV (2006): Landwirtschaftliche Monatszahlen,
www.bauernverband.ch/de/markt_preise_statistik/lmz
Vianco (2006): CH-TAX-Klassierungssystem für Schlachtvieh. www.vianco.ch
40/50
WolframMathWorld (2006): Gamma distribution.
http://mathworld.wolfram.com/GammaDistribution.html
Vianco (2007): Persönliche Mitteilung durch Hr. Hans Ziswiler.
5.5.
R-Skripte
5.5.1.
Anpassung der t-Verteilung
# Skript zur Schätzung von Mittelwert und Varianz der Schlachtgewichtsdaten
# gemäss den Klassierungsdaten der Proviande
# Basis: t-Verteilung
# Daten liegen als Monats- oder Jahresdatei ab MS Access als CSV-File auf dem Laufwerk M bereit
# Vorgaben aus d.gew (nrow=Anzahl Klassen=k)
# - Klasse: 1:k
# - von / bis als Klassengrenzen
# - mittel = Mitte der Klassengrenzen für Klassen 2:k-1
# - n_real = beobachtete Anzahl Tiere
# ------------------------------------------------------------------------# 1. Initialisierung: Einstellungen und Dataframe für Resultate
windows(width=7,height=7,pointsize=12,record=TRUE) # Mehrfach-Grafikfenster
par(mfrow=c(2,2))
res.t<-data.frame(xgattung=„XX“,xjahr=1,xmonat=1, n.t=1, u=0,o=0,klasse=1, xm1=1, xm2=1, xv1=1,xv2=1,xv3=1,
xt1=1, chi2=1,pval=1,pm.est=1,ps.est=1,pfg.est=1.1) # Dummy-Zeile
# 2. Jahres- oder Monatsdaten einlesen
# 2.a) Monatsdaten
# --------------------------------------------------d.gew<-read.table(„M:\\gewichtM.csv“,header=T,sep=“;“)
# d.gew<-d.gew[-1,]
# für RV 2005-06 bis RV 2005-12
# 2.b) Jahresdatei
# --------------------------------------------------# d.gew<-read.table(„M:\\gewichtJ.csv“,header=T,sep=“;“);d.gew[,“monat“]<-0
# 2.c) Fehlende Angaben berechnen
n.row<-nrow(d.gew)
# Anteile neu berechnen
n.total<-sum(d.gew[,“n_real“])
options(digits=9)
d.gew[,“p_real“]<-d.gew[,“n_real“]/n.total
# Anteile neu berechnen
# kumulierte Anteile
d.gew[,“pk_real“]<-cumsum(d.gew[,“p_real“])
# 2.d) Momentenschätzer Typ 1
d.gew[,“m1“]<-d.gew[,“mittel“]*d.gew[,“p_real“]/sum(d.gew[d.gew$typ_id==1,]$p_real)
m1.est<-sum(d.gew[,“m1“])
n2k_1<-sum(d.gew[d.gew$typ_id==1,]$n_real)
d.gew$v1<-0
d.gew[d.gew$typ_i==1,]$v1<- (d.gew[d.gew$typ_i==1,]$mittel-m1.est)^2
v1.est<-sum(d.gew$v1*d.gew$n_real) /n2k_1
d.gew # Kontrolle
# 2.e) Startwerte der Approximation
breite.class=d.gew[2,“bis“] -d.gew[2,“von“] # Klassenbreite
parm.start<-c(m1.est,sqrt(v1.est),10)
f.chisqt <- function(parm.start) {
t.bis<- (c(d.gew[-n.row,“bis“],Inf)- parm.start[1])/ parm.start [2] # skalieren
t.fg <- max(3, parm.start[3])
t.pk_est <- pt(t.bis,t.fg)
t.p_est <- c(t.pk_est[1],diff(t.pk_est)) # Anteil
t.n_est <-sum(d.gew[,“n_real“])*t.p_est
t.diff1 <-(d.gew[,“n_real“]-t.n_est)^2/t.n_est
sum(t.diff1)
}
# 3. Anpassung
# 3.a) Parameter schätzen
# res.opt<- optim(parm.start,f.chisqt) # ,control=list(trace=1,reltot=10^ (-320)))
res.opt<- optim(parm.start,f.chisqt,method=“L-BFGS-B“,lower=c(0,0,3)) # ,control=list(trace=1))
res.opt$par
m3.est<-res.opt$par[1]
pm.est<-m3.est
s3.est<-res.opt$par[2]
41/50
ps.est<-s3.est
fg3.est<- res.opt$par[3]
pfg.est<-fg3.est
# if (fg4.est<3) fg4.est<-3 # Freiheitsgrad muss >= 3 sein !!!!
v3.est<-s3.est^2*(fg3.est/(fg3.est-2))
# Quantile geschätzt
d.gew[,“pk_est“]<-pt((c(d.gew[-n.row,“bis“],Inf)-m3.est)/s3.est,fg3.est) # Resultate in Ausgangstabelle übertragen
d.gew[,“p_est“]<-c(d.gew[1,“pk_est“], diff(d.gew[,“pk_est“]))
d.gew[,“n_est“]<-sum(d.gew[,“n_real“])*d.gew[,“p_est“] # nur „ganze“ Tiere möglich, für Chi2 werden aber halbe benötigt
d.gew[,“diff“]<-(d.gew[,“n_real“]-d.gew[,“n_est“])^2/d.gew[,“n_est“]
# Qualitätskontrolle durch quadrierte Abweichung zwischen theoretischen und beobachteten Quantilen
# durch die Freiheitsgrade:
# v.Test<-na.omit(d.gew)
t.Test<-sum(d.gew[,“diff“]) # ungewichtet
# 3.b) Mittelwert und Varianz interpolieren
m.struc<-matrix(data=1:1000,nrow=n.row,ncol=1000,byrow=TRUE)
# Strukturmatrix
t.space<-as.matrix(d.gew[,“bis“]-d.gew[,“von“])/1000 # Breite der n.row * 1000 Stufen
m.von<- t.space[1:n.row,]*(m.struc[1:n.row,]-1)
# unteres Subklasseninkrement
m.bis<-t.space[1:n.row,]*m.struc[1:n.row,]
# oberes Subklasseninkrement
m.vong<-m.von+d.gew[,“von“]
# unteres Gewicht
m.bisg<-m.bis + d.gew[,“von“]
# oberes Gewicht
m.pkvon<-pt((m.vong-m3.est)/s3.est,fg3.est)
# Wahrscheinlichkeit kum. unten
m.pkbis<-pt((m.bisg-m3.est)/s3.est,fg3.est)
# Wahrscheinlichkeit kum. oben
m.mean<-(m.vong+m.bisg)/2
# mittleres Gewicht
m.prob<-m.pkbis-m.pkvon
# mittlere Wahrscheinlichkeit
m.probrow<- as.matrix(apply(m.prob,1,sum))
# Wahrscheinlichkeit der Klasse=Zeile
m.wmean<-m.mean[1:n.row,]*m.prob[1:n.row,]
# gewichtete Mittel
m.wmeanrow<-as.matrix(apply(m.wmean,1,sum))
# gewichtetes Klassenmittel
row.mean <-as.matrix(m.wmeanrow[1:n.row,]/m.probrow[1:n.row,])
# Klassenmittel absolut
d.gew[,“m2“]<-row.mean
m2.est<- t(row.mean) %*% as.matrix(d.gew[,“n_real“]) / sum(d.gew[,“n_real“]) # Gesamtmittel als Klassenmittel
# gewichtet mit den tatsächlichen Anzahlen in den Klassen
m2.est
m.var<-(m.mean-matrix(m3.est,ncol=1000,nrow=n.row))^2
# Varianz pro Subklasse
m.varw<-m.var * m.prob
m.varwrow<-as.matrix(apply(m.varw,1,sum))
m.varwabs<-as.matrix(m.varwrow / m.probrow)
v2.est<- t(m.varwabs) %*% as.matrix(d.gew[,“n_real“]) / sum(d.gew[,“n_real“]) # Gesamtmittel als Klassenmittel
m2.est<-sum(d.gew[,“m2“]*d.gew[,“p_real“])
# 4. Anzeige und Ausgabe
# 4.a) Plots reale gegen theoretische Werte
par(mfrow=c(2,1))
plot(d.gew[,“n_real“]~d.gew[,“klasse“], xlab=“Gewichtsklasse“,ylab=“Anzahl
Tiere“,col=2,lwd=2,cex.lab=1.2,ylim=c(0,max(d.gew[,“n_real“])*1.1))
lines(d.gew[,“n_est“]~d.gew[,“klasse“],lwd=2,col=“green3“)
title(main=paste(d.gew[1,1],“Beobachtete Anzahlen gegen Anzahlen der t-Verteilung“,sep=“: “))
legend(„topleft“,c(“beobachtet“,“erwartet“),text.col=c(„red“,“green3“),cex=0.8)
plot(d.gew[,“pk_real“]~d.gew[,“klasse“], main=paste(d.gew[1,1],“Beobachtete gegen erwartete Quantile“,sep=“: „),
xlab=“Gewichtsklasse“,ylab=“Quantil“,col=2,lwd=2,cex.lab=1.2)
lines(d.gew[,“pk_est“]~d.gew[,“klasse“],col=“green3“,lwd=2)
legend(„topleft“,c(“beobachtet“,“erwartet“),text.col=c(„red“,“green3“) ,cex=0.8)
# 4.b) alle Daten anzeigen speichern und ausgeben
ifelse(d.gew[1,]$klasse==1,u.t<- u.t<-d.gew[1,]$n_real,u.t<-0)
ifelse(max(d.gew$klasse)==d.gew[1,"klassen"],o.t<-d.gew[d.gew$klasse==d.gew[1,"klassen"],]$n_real,o.t<-0)
res.tnew<-data.frame(xgattung=d.gew[1,“id_gattung“],xjahr=d.gew[1,“jahr“],xmonat=d.gew[1,“monat“], n.t=n.total, u=u.t,
o=o.t, klasse=n.row, xm1=m1.est, xm2=m2.est, xv1=v1.est, xv2=v2.est, xv3=v3.est, xt1=t.Test, chi2=qchisq(0.95,n.row4),pval= 1-pchisq(t.Test,n.row-4), pm.est=m3.est, ps.est=s3.est, pfg.est=fg3.est)
res.t<-rbind(res.t,res.tnew)
# Output in drei Dateien und Anzeige des gesamten Resultat-Dataframes
sink(„M:\\res1.txt“);res.t[-1,1:7];sink();sink(„M:\\res2.txt“);res.t [-1,8:14]; sink()
sink(„M:\\res3.txt“);res.t [-1,15:18];sink()
# Kontrolle auf Bildschirm
d.gew
t(res.tnew)
res.t[-1,]
42/50
5.5.2.
Anpassung der Γ-Verteilung
# Skript zur Schätzung von Mittelwert und Varianz der Gewichte
# aus den Klassierungsdaten der Proviande
# Variante 2: Γ-Verteilung
# G ~ Γ(α,θ)
# α = shape
# θ = scale
# rate = 1/θ
# 1. Ausgabedatei und Parameter des ersten Aufrufs
windows(width=7,height=7,pointsize=12,record=TRUE) # Mehrfach-Grafikfenster
par(mfrow=c(2,2))
# Dataframe für Resultate
res.g<-data.frame(xgattung=„XX“,xjahr=as.numeric(1.1),xmonat=1,n.t=1, u=0,o=0,klasse=1,
xm1=1,xm2=1,xv1=1,xv2=1,xv3=1,xt1=1,chi2=1,pval=1,pm.est=1,pshape.est=1,prate.est=1)
# 2. Jahres- oder Monatsdaten einlesen
# 2.a) Monatsdaten
d.gew<-read.table(„M:\\gewichtM.csv“,header=T,sep=“;“)
# d.gew<-d.gew[-1,]
# RV 2005-07 bis 2005-12
# str(d.gew)
# data.frame': 12 obs. of 23 variables:
# id_gattung: Factor w/ 1 level "OB": 1 1 1 1 1 1 1 1 1 1 ...
# jahr
: int 2005 2005 2005 2005 2005 2005 2005 2005 2005 2005 ...
# monat : int 11 11 11 11 11 11 11 11 11 11 ...
# klassen : int 14 14 14 14 14 14 14 14 14 14 ...
# Anzahl Klassen
# klasse : int 1 2 3 4 5 6 7 8 9 10 ...
# typ_id : int 2 1 1 1 1 1 1 1 1 1 ...
# von
: int 100 150 175 200 225 250 275 300 325 350 ...
# bis
: int 150 175 200 225 250 275 300 325 350 375 ...
# mittel : num 0 162 188 212 238 ... # Klassenmittelpunkt
# gew_klasse: Factor w/ 12 levels "<150","150+",..: 1 2 3 4 5 6 7 8 9 10 ...
# n_real : int 9 71 258 424 443 319 267 174 64 9 ... # Anzahl Tiere
# p_real : num 0.0044 0.0347 0.1261 0.2072 0.2165 ...
# pk_real : num 0.0044 0.0391 0.1652 0.3724 0.5890 ...
# p_est : num 0.00817 0.03985 0.11144 0.19123 0.22291 ...
# pk_est : num 0.00817 0.04802 0.15946 0.35069 0.57360 ...
# n_est : num 16.7 81.5 228.0 391.3 456.1 ...
# diff1 : num 3.567 1.360 3.946 2.741 0.375 ... # beobachtet - erwartet
# v1
: num 0.0 6727.3 3251.3 1025.3 49.3 ...
# m1
: num 0.00 5.66 23.75 44.23 51.65 ...
# 2.b) Jahresdatei
# d.gew<-read.table(„M:\\gewichtJ.csv“,header=T,sep=“;“);d.gew$monat<-13
# 2.c) Fehlende Angaben berechnen
n.row<-nrow(d.gew)
# Anzahl Zeilen im Dataframe
n.total<-sum(d.gew$n_real)
# Anteile neu berechnen
options(digits=9)
d.gew$p_real<-d.gew$n_real/n.total
# Anteile neu berechnen
d.gew[1,]$pk_real<- d.gew[1,]$p_real
# 1. kumulierter Anteil = 1. Anteil
for (i in 2:n.row) {
# restliche kumulierte Anteile ab Zeile 2 aufsummieren
d.gew[i,]$pk_real<-d.gew[i-1,]$pk_real+d.gew[i,]$p_real
}
# Schätzer Typ 1: gewichtetes Mittel der vorhandenen Klassen
d.gew$m1<-d.gew$mittel*d.gew$p_real/sum(d.gew[d.gew$typ_id==1,]$p_real)
m1.est<-sum(d.gew$m1)
n2k_1<-sum(d.gew[d.gew$typ_id==1,]$n_real)
d.gew$v1<-0
d.gew[d.gew$typ_i==1,]$v1<- (d.gew[d.gew$typ_i==1,]$mittel-m1.est)^2
v1.est<-sum(d.gew$v1*d.gew$n_real) /n2k_1
d.gew
# 3. Startparameter der Verteilung
breite.class=d.gew[2,]$bis -d.gew[2,]$von
t.parm_g<-c(m1.est/10,.1)
# 4. Anpassung
# 4.a) Parameter schätzen
t.bis<-1:n.row
t.von<-1:n.row
t.parmx<-c(30,.1)
fw<-function(t.parmx) {
# Klassenbreite
# Shape und Rate: Shape/Rate = Mittelwert
43/50
t.bis<- d.gew$bis # / t.parmx[1] # skalieren
t.von<- d.gew$von # / t.parmx[1] # skalieren
t.von[1]<-0
t.bis[n.row]<- 999999
d.gew$pk_est<-pgamma(t.bis,t.parmx[1],t.parmx[2]) # theoretisches Quantil für Klasse i
d.gew[2:n.row,]$p_est<-d.gew[2:n.row,]$pk_est-d.gew[1:(n.row-1),]$pk_est
# Anteile in Klassen
d.gew[1,]$p_est<-d.gew[1,]$pk_est
d.gew$n_est<-sum(d.gew$n_real)*d.gew$p_est
2
d.gew$diff1<-(d.gew$n_real-d.gew$n_est)^2/d.gew$n_est # ungewichtete Abweichung Anteile
return(sum(d.gew$diff1))
}
res.opt<- optim(t.parm_g,fw) # ,control=list(trace=1))
shape.est<- res.opt$par[1]
rate.est<- res.opt$par[2]
m3.est<- shape.est/rate.est
# Quantile geschätzt
d.gew$pk_est<-pgamma(d.gew$bis,shape.est,rate.est) # Resultate in Ausgangstabelle übertragen
d.gew[n.row,]$pk_est<-1
# Quantil k = 100 %
# Wahrscheinlichkeiten geschätzt
d.gew[1,]$p_est<-d.gew[1,]$pk_est
for (i in 2:n.row) {
d.gew[i,]$p_est<-d.gew[i,]$pk_est- d.gew[i-1,]$pk_est
}
d.gew$n_est<-sum(d.gew$n_real)*d.gew$p_est
d.gew$diff1<-(d.gew$n_real-d.gew$n_est)^2/d.gew$n_est
t.Test<-sum(d.gew$diff1)
# 4.b) Mittelwert und Varianz aufgrund des untersten und obersten Quantils
#
korrigieren
m.struc<-matrix(data=1:1000,nrow=n.row,ncol=1000,byrow=TRUE)
# Strukturmatrix
t.space<-as.matrix(d.gew$bis-d.gew$von)/1000
# Breite der n.row * 1000 Stufen
m.von<- t.space[1:n.row,]*(m.struc[1:n.row,]-1)
# unteres Subklasseninkrement
m.bis<-t.space[1:n.row,]*m.struc[1:n.row,]
# oberes Subklasseninkrement
m.vong<-m.von+d.gew$von
# unteres Gewicht
m.bisg<-m.bis + d.gew$von
# oberes Gewicht
m.pkvon<-pgamma(m.vong,shape.est,rate.est)
# Wahrscheinlichkeit kum. unten
m.pkbis<-pgamma(m.bisg,shape.est,rate.est)
# Wahrscheinlichkeit kum. oben
m.mean<-(m.vong+m.bisg)/2
# mittleres Gewicht
m.prob<-m.pkbis-m.pkvon
m.probrow<- as.matrix(apply(m.prob,1,sum))
m.wmean<-m.mean[1:n.row,]*m.prob[1:n.row,]
# mittlere Wahrscheinlichkeit
# Wahrscheinlichkeit der Klasse=Zeile
# gewichtete Mittel
m.wmeanrow<-as.matrix(apply(m.wmean,1,sum))
# gewichtetes Klassenmittel
row.mean <-as.matrix(m.wmeanrow[1:n.row,]/m.probrow[1:n.row,])
# Klassenmittel absolut
d.gew$m2<-row.mean
m2.est<- t(row.mean) %*% as.matrix(d.gew$n_real) / sum(d.gew$n_real) # Gesamtmittel als Klassenmittel
# gewichtet mit den tatsächlichen Anzahlen in den Klassen
m2.est
m.var<-(m.mean-matrix(m2.est,ncol=1000,nrow=n.row))^2
# Varianz pro Subklasse
m.varw<-m.var * m.prob
m.varwrow<-as.matrix(apply(m.varw,1,sum))
m.varwabs<-as.matrix(m.varwrow / m.probrow)
v2.est<- t(m.varwabs) %*% as.matrix(d.gew$n_real) / sum(d.gew$n_real) # Gesamtmittel als Klassenmittel
# Schätzer 2
# reale gegen theoretische Werte
par(mfrow=c(2,1))
plot(d.gew$n_real~d.gew$klasse, xlab=“Gewichtsklasse“,ylab=“Anzahl
Tiere“,col=2,lwd=2,cex.lab=1.2,ylim=c(0,max(d.gew$n_real)*1.1))
lines(d.gew$n_est~d.gew$klasse,col=3,lwd=2)
title(main=paste(d.gew[1,1],“Beobachtete Anzahlen gegen Anzahlen der Gamma-Verteilung“,sep=“: “))
legend("topleft",c("beobachtet","erwartet"),cex=0.8,text.col=c(2,3))
plot(d.gew$pk_real~d.gew$klasse, main=paste(d.gew[1,1],“Beobachtete gegen erwartete Quantile“,sep=“:
„),xlab=“Gewichtsklasse“,ylab=“Quantil“, col=2,lwd=2,cex.lab=1.2)
lines(d.gew$pk_est~d.gew$klasse,col=3,lwd=2)
legend("topleft",c("beobachtet","erwartet"),cex=0.8,text.col=c(2,3))
v3.est<-shape.est*(1/rate.est)^2
xchi2<- qchisq(0.95,n.row-3)
pm.est<-m3.est
pshape.est<- shape.est
prate.est<- rate.est
xm.u<- d.gew[1,]$m2
xm.o<- d.gew[n.row,]$m2
# Varianz der approximierten Verteilung
# Anzahl Klassen - 1 - [Anzahl geschätzte Parameter]
44/50
# nach res.g
ifelse(d.gew[1,]$klasse==1,u.t<- u.t<-d.gew[1,]$n_real,u.t<-0)
ifelse(max(d.gew$klasse)==d.gew[1,"klassen"],o.t<-d.gew[d.gew$klasse==d.gew[1,"klassen"],]$n_real,o.t<-0)
res.gnew<- data.frame(xgattung=d.gew[1,“id_gattung“],xjahr=d.gew[1,“jahr“],xmonat=d.gew[1,“monat“], n.t=n.total, u=u.t,
o=o.t, klasse=n.row, xm1=m1.est, xm2=m2.est, xv1=v1.est, xv2=v2.est, xv3=v3.est, xt1=t.Test, chi2=qchisq(0.95,n.row3),pval= 1-pchisq(t.Test,n.row-3), pm.est= m3.est,pshape.est,prate.est)
res.g<-rbind(res.g,res.gnew)
# Output in drei Dateien und Anzeige des gesamten Resultat-Dataframes
sink(„M:\\res1.txt“);res.g[,1:6];sink();sink(„M:\\res2.txt“);res.g [,7:12];sink();sink(„M:\\res3.txt“);res.g [,13:18];sink()
# Datei M:\out.txt wird anschliessend mit Excel übernommen
# alle Daten
d.gew
t(res.gnew)
res.g
5.5.3.
Multinomial verteilte Pseudozufallszahlen
# Skript zur Simulation mit multinomial erzeugten Pseudozufallszahlen
# Basis: t-Verteilung
# Daten liegen als Monatsdatei ab MS Access als CSV-File auf dem Laufwerk M bereit
# ------------------------------------------------------------------------# Zuerst Skript für t-Verteilung durchführen
# -------------------------# Initialisieren
res.multi<-res.t[1,]
res.multi<-res.multi[-1,]
# set.seed(45)
p.run<-99
m.nmulti<-matrix(data=0,nrow=n.row,ncol=p.run)
m.nmulti<- rmultinom(p.run,n.total,prob=d.gew[,“p_real“])
# Zufallszahlen
# Schlaufe
for (i in 1:p.run) {
d.multi<-d.gew
d.multi[,“n_real“]<- m.nmulti[,i]
d.multi[,“p_real“]<-d.multi[,“n_real“]/n.total # Anteile neu berechnen
# kumulierte Anteile
d.multi[,“pk_real“]<-cumsum(d.multi[,“p_real“])
# 2.d) Momentenschätzer Typ 1
d.multi[,“m1“]<-d.multi[,“mittel“]*d.multi[,“p_real“]/sum(d.multi[d.multi$typ_id==1,]$p_real)
m1.est<-sum(d.multi[,“m1“])
n2k_1<-sum(d.multi[d.multi$typ_id==1,]$n_real)
d.multi[,“v1“]<- (d.multi[,“mittel“]-m1.est)^2
d.multi[1,“v1“]<-0
d.multi[n.row,“v1“]<-0
v1.est<-sum(d.multi[,“v1“]*d.multi[,“p_real“])/sum(d.multi[-1,“p_real“])*n2k_1/(n2k_1 -1)
d.multi # Kontrolle
# 2.e) Startwerte der Approximation
breite.class=d.multi[2,“bis“] -d.multi[2,“von“] # Klassenbreite
parm.start<-c(m1.est,v1.est^.5,10)
# 3. Anpassung
# 3.a) Parameter schätzen
t.bis<-1:n.row
t.von<-1:n.row
f.chisqt <- function(parm.start) {
t.bis<- (c(d.gew[-n.row,“bis“],Inf)- parm.start[1])/ parm.start [2] # skalieren
t.fg <- max(3, parm.start[3])
t.pk_est <- pt(t.bis,t.fg)
t.p_est <- c(t.pk_est[1],diff(t.pk_est)) # Anteil
t.n_est <-sum(d.gew[,“n_real“])*t.p_est
t.diff1 <-(d.gew[,“n_real“]-t.n_est)^2/t.n_est
sum(t.diff1)
}
# res.opt<- optim(parm.start,f.chisqt) # ,control=list(trace=1,reltot=10^ (-320)))
res.opt<- optim(parm.start,f.chisqt,method=“L-BFGS-B“,lower=c(0,0,3)) # ,control=list(trace=1))
res.opt$par
m4.est<-res.opt$par[1]
s4.est<-res.opt$par[2]
fg4.est<- max(3,res.opt$par[3])
# if (fg4.est<3) fg4.est<-3 # Freiheitsgrad muss >= 3 sein !!!!
v4.est<-s4.est^2*(fg4.est/(fg4.est-2))
45/50
# Quantile geschätzt
d.multi[,“pk_est“]<-pt((c(d.multi[-n.row,“bis“],Inf)-m4.est)/s4.est,fg4.est) # Resultate in Ausgangstabelle übertragen
d.multi[,“p_est“]<-c(d.multi[1,“pk_est“],diff(d.multi[,“pk_est“]))
d.multi[,“n_est“]<-round(sum(d.multi[,“n_real“])*d.multi[,“p_est“],digits=0) # nur „ganze“ Tiere möglich
d.multi[,“diff“]<-(d.multi[,“n_real“]-d.multi[,“n_est“])^2/d.multi[,“n_est“]
# Qualitätskontrolle durch quadrierte Abweichung zwischen theoretischen und beobachteten Quantilen
# durch die Freiheitsgrade:
t.Test<-sum(d.multi[,“diff“]) # ungewichtet
# 3.b) Mittelwert und Varianz interpolieren
m.struc<-matrix(data=1:1000,nrow=n.row,ncol=1000,byrow=TRUE)
# Strukturmatrix
t.space<-as.matrix(d.multi[,“bis“]-d.multi[,“von“])/1000
# Breite der n.row * 1000 Stufen
m.von<- t.space[1:n.row,]*(m.struc[1:n.row,]-1)
# unteres Subklasseninkrement
m.bis<-t.space[1:n.row,]*m.struc[1:n.row,]
# oberes Subklasseninkrement
m.vong<-m.von+d.multi[,“von“]
# unteres Gewicht
m.bisg<-m.bis + d.multi[,“von“]
# oberes Gewicht
m.pkvon<-pt((m.vong-m4.est)/s4.est,fg4.est)
# Wahrscheinlichkeit kum. unten
m.pkbis<-pt((m.bisg-m4.est)/s4.est,fg4.est)
# Wahrscheinlichkeit kum. oben
m.mean<-(m.vong+m.bisg)/2
# mittleres Gewicht
m.prob<-m.pkbis-m.pkvon
# mittlere Wahrscheinlichkeit
m.probrow<- as.matrix(apply(m.prob,1,sum))
# Wahrscheinlichkeit der Klasse=Zeile
m.wmean<-m.mean[1:n.row,]*m.prob[1:n.row,]
# gewichtete Mittel
m.wmeanrow<-as.matrix(apply(m.wmean,1,sum))
# gewichtetes Klassenmittel
row.mean <-as.matrix(m.wmeanrow[1:n.row,]/m.probrow[1:n.row,])
# Klassenmittel absolut
d.multi[,“m3“]<-row.mean
m3.est<- t(row.mean) %*% as.matrix(d.multi[,“n_real“]) / sum(d.multi[,“n_real“]) # Gesamtmittel als Klassenmittel
# gewichtet mit den tatsächlichen Anzahlen in den Klassen
m3.est
m.var<-(m.mean-matrix(m3.est,ncol=1000,nrow=n.row))^2
# Varianz pro Subklasse
m.varw<-m.var * m.prob
m.varwrow<-as.matrix(apply(m.varw,1,sum))
m.varwabs<-as.matrix(m.varwrow / m.probrow)
v3.est<- t(m.varwabs) %*% as.matrix(d.multi[,“n_real“]) / sum(d.multi[,“n_real“]) # Gesamtmittel als Klassenmittel
# 4. Anzeige und Ausgabe
# 4.a) Plots reale gegen theoretische Werte
# par(mfrow=c(2,1))
# plot(d.multi[,“n_real“]~d.multi[,“klasse“], xlab=“Gewichtsklasse“,ylab=“Anzahl
Tiere“,col=2,lwd=2,cex.lab=1.2,ylim=c(0,max(d.multi[,“n_real“])*1.1))
# lines(d.multi[,“n_est“]~d.multi[,“klasse“],col=3,lwd=2)
# title(main=paste(d.multi[1,1],“Beobachtete Anzahlen gegen Anzahlen der t-Verteilung“,sep=“: “))
# plot(d.multi[,“pk_real“]~d.multi[,“klasse“], main=paste(d.multi[1,1],“Beobachtete gegen erwartete Quantile“,sep=“:
„),xlab=“Gewichtsklasse“,ylab=“Quantil“,col=2,lwd=2,cex.lab=1.2)
# lines(d.multi[,“pk_est“]~d.multi[,“klasse“],col=3,lwd=2)
# text(5,5,"rot=beobachtet",cex=1)
legend(„topleft“,c(„schwarz = kombiniert“,“rot = NV“,„grün = Gamma“))
# 4.b) alle Daten anzeigen speichern und ausgeben
res.tnew=data.frame(xgattung=d.multi[1,“id_gattung“],xjahr=d.multi[1,“jahr“],xmonat=d.multi[1,“monat“],n.t=n.total
,xm1=m1.est, xm3=m3.est,xv1=v1.est, xv3=v3.est,xv4=v4.est,xt1=t.Test,xchi2=qchisq(0.95, n.row4),pm.est=m4.est,ps.est=s4.est,pfg.est=fg4.est,xm.u=d.multi[1,“m3“],xm.o=d.multi[n.row,“m3“])
res.multi<-rbind(res.multi,res.tnew)
}
# Kontrolle
par(mfrow=c(1,1))
hist(res.multi$xm3,nclass=20)
sort(res.multi$xm3)[round((p.run+1)*0.025,digit=0)]
sort(res.multi$xm3)[round((p.run+1)*0.975,digit=0)]
sort(res.multi$pm.est)[round((p.run+1)*0.025,digit=0)]
sort(res.multi$pm.est)[round((p.run+1)*0.975,digit=0)]
# Output in drei Dateien und Anzeige des gesamten Resultat-Dataframes
# ----------------------------------------------------------------------------------------------sink(„M:\\resm1.txt“);res.multi[,1:6];sink();sink(„M:\\ resm2.txt“);res.multi [,7:12];sink();sink(„M:\\ resm3.txt“);res.multi
[,13:18];sink()
# alle Daten
d.multi
t(res.tnew)
# res.multi
46/50
5.5.4.
Simulation Kälber KV
# Simulation anhand von NV- und Gammaverteilung
windows(width=7,height=7,pointsize=12,record=TRUE) # Mehrfach-Grafikfenster
# Sample erstellen
res.tot=data.frame(run=0,xgattung=“KV“,m.theo=0,v.theo=0, m.eff=0,
v.eff=0,m3=0,v4=0,n=0,unten=0,oben=0,ausserhalb=0,T=0)
number.gamma<-3000
number.nv<-17000
n.total<-number.gamma+number.nv
part.gamma<-number.gamma/n.total
part.nv<-number.nv/n.total
t.samples<-200
d.number<-data.frame(klasse=1:8)
parm.start<-c(120,20,10)
f.chisqt <- function(parm.start) {
t.bis<- (c(d.gew[-n.row,“bis“],Inf)- parm.start[1])/ parm.start [2] # skalieren
t.fg <- max(3, parm.start[3])
t.pk_est <- pt(t.bis,t.fg)
t.p_est <- c(t.pk_est[1],diff(t.pk_est)) # Anteil
t.n_est <-sum(d.gew[,“n_real“])*t.p_est
t.diff1 <-(d.gew[,“n_real“]-t.n_est)^2/t.n_est
sum(t.diff1)
}
for (i in 1:t.samples) {
m.nv <-105 + (i-1)*0.2
s.nv <-13
v.nv<-s.nv^2
ran.nv<-rnorm (number.nv,m.nv,s.nv)
rate.gamma<- 0.3
shape.gamma<- (m.nv*rate.gamma)
ran.gamma<-rgamma(number.gamma,shape=shape.gamma,rate=rate.gamma)
m.gamma<-shape.gamma/rate.gamma
v.gamma<-shape.gamma*(1/rate.gamma)^2
ran.sam<-c(ran.nv,ran.gamma)
m.eff<-mean(ran.sam)
s.eff<-sd(ran.sam)
v.eff<-var(ran.sam)
m.theo<-part.nv*m.nv+part.gamma*m.gamma
v.theo<-part.nv*v.nv+part.gamma*v.gamma+part.gamma*(m.gamma-m.theo)^2+part.nv*(m.nv-m.theo)^2
s.theo<-v.theo^.5
t.c<-cut(ran.sam,breaks=c(0,70,80,90,100,110,120,130,Inf),labels=F)
d.gew<-as.data.frame(tapply(ran.sam,t.c,length))
names(d.gew)<-„n_real“
if (dim(d.gew)[1]==7) d.gew<-rbind(data.frame(n_real=0),d.gew)
# Anteil ausserhalb
d.gew$n_real<-d.gew[,1]
d.number<-cbind(d.number,d.gew[,“n_real“])
n.total<-sum(d.gew$n_real)
n.row<-nrow(d.gew)
a.u <- 100*d.gew[1,1]/n.total
a.o <- 100*d.gew[8,1]/n.total
a.total<-a.u+a.o
# Kälberspezifisch - Grenzen
t.vo<-c(0,70,80,90,100,110,120,130)
t.bi<- c(70,80,90,100,110,120,130,399)
d.gew$von<-t.vo
d.gew$bis<-t.bi
# Anteile neu berechnen
options(digits=9)
d.gew$p_real<-d.gew$n_real/n.total
# Anteile neu berechnen
# kumulierte Anteile
d.gew[,“pk_real“]<- cumsum(d.gew[,“p_real“])
# 1. kumulierter Anteil = 1. Anteil
d.gew$n_est <- rep(0,8)
d.gew$p_est <- rep(0,8)
d.gew$pk_est <- rep(0,8)
# Startwerte der Approximation
breite.class=d.gew[2,]$bis -d.gew[2,]$von # Klassenbreite
parm.start<-c(m.theo,s.theo,10)
47/50
# 3. Anpassung
# 3.a) Parameter schätzen
t.bis<-1:n.row
t.von<-1:n.row
# res.opt<- optim(parm.start,fw) # ,control=list(trace=1,reltot=10^ (-320)))
## res.opt<- optim(parm.start,fw,method=“CG“ ) # ,control=list(trace=1,reltot=10^ (-320))) # geht nicht ??!!
res.opt<- optim(parm.start,f.chisqt,method=“L-BFGS-B“,lower=c(0,0,3)) # ,control=list(trace=1)) # funktioniert
res.opt$par
m4.est<-res.opt$par[1]
s4.est<-res.opt$par[2]
fg4.est<- max(3,res.opt$par[3])
# if (fg4.est<3) fg4.est<-3 # Freiheitsgrad muss >= 3 sein !!!!
v4.est<-s4.est^2*(fg4.est/(fg4.est-2))
# Quantile geschätzt
d.gew[,“pk_est“]<-pt((c(d.gew[-n.row,“bis“],Inf)-m4.est)/s4.est,fg4.est) # Resultate in Ausgangstabelle übertragen
d.gew[n.row,“pk_est“]<-1 # Quantil k = 100 %
d.gew[,“p_est“]<-c(d.gew[1,“pk_est“],diff(d.gew[,“pk_est“]))
d.gew[,“n_est“]<-round(sum(d.gew[,“n_real“])*d.gew[,“p_est“],digits=0) # nur „ganze“ Tiere möglich
d.gew[,“diff“]<-(d.gew[,“n_real“]-d.gew[,“n_est“])^2/d.gew[,“n_est“]
# Qualitätskontrolle durch quadrierte Abweichung zwischen theoretischen und beobachteten Quantilen
# durch die Freiheitsgrade:
t.Test<-sum(d.gew[,“diff“]) # ungewichtet
# 3.b) Mittelwert und Varianz interpolieren
m.struc<-matrix(data=1:1000,nrow=n.row,ncol=1000,byrow=TRUE)
# Strukturmatrix
t.space<-as.matrix(d.gew[,“bis“]-d.gew[,“von“])/1000
# Breite der n.row * 1000 Stufen
m.von<- t.space[1:n.row,]*(m.struc[1:n.row,]-1)
# unteres Subklasseninkrement
m.bis<-t.space[1:n.row,]*m.struc[1:n.row,]
# oberes Subklasseninkrement
m.vong<-m.von+d.gew[,“von“]
# unteres Gewicht
m.bisg<-m.bis + d.gew[,“von“]
# oberes Gewicht
m.pkvon<-pt((m.vong-m4.est)/s4.est,fg4.est)
# Wahrscheinlichkeit kum. unten
m.pkbis<-pt((m.bisg-m4.est)/s4.est,fg4.est)
# Wahrscheinlichkeit kum. oben
m.mean<-(m.vong+m.bisg)/2
# mittleres Gewicht
m.prob<-m.pkbis-m.pkvon
# mittlere Wahrscheinlichkeit
m.probrow<- as.matrix(apply(m.prob,1,sum))
# Wahrscheinlichkeit der Klasse=Zeile
m.wmean<-m.mean[1:n.row,]*m.prob[1:n.row,]
# gewichtete Mittel
m.wmeanrow<-as.matrix(apply(m.wmean,1,sum))
# gewichtetes Klassenmittel
row.mean <-as.matrix(m.wmeanrow[1:n.row,]/m.probrow[1:n.row,])
# Klassenmittel absolut
d.gew[,“m3“]<-row.mean
m3.est<- t(row.mean) %*% as.matrix(d.gew[,“n_real“]) / sum(d.gew[,“n_real“]) # Gesamtmittel als Klassenmittel
# gewichtet mit den tatsächlichen Anzahlen in den Klassen
m3.est
m.var<-(m.mean-matrix(m3.est,ncol=1000,nrow=n.row))^2
# Varianz pro Subklasse
m.varw<-m.var * m.prob
m.varwrow<-as.matrix(apply(m.varw,1,sum))
m.varwabs<-as.matrix(m.varwrow / m.probrow)
v3.est<- t(m.varwabs) %*% as.matrix(d.gew[,“n_real“]) / sum(d.gew[,“n_real“]) # Gesamtmittel als Klassenmittel
res.sim=data.frame(run=i,xgattung=“KV“,m.theo=m.theo,v.theo=v.theo,m.eff=m.eff,
v.eff=v.eff,m3=m3.est,v4=v4.est,n=n.total,unten=a.u,oben=a.o,ausserhalb=a.total,T=t.Test)
res.tot<-rbind(res.tot,res.sim)
res.tot
}
# Ausgabe
r.v<-res.tot[-1,]
r.v$run<-1:dim(r.v)[1]
r.v$vi<-qt(0.975,n.total-1)*(r.v$v4/4*5/r.v$n)^.5
r.v$vipr<-r.v$vi*(1/(1-r.v$ausserhalb/100))^2
# Output in zwei Dateien und Anzeige des gesamten Resultat-Dataframes
sink(„M:\\res1.txt“);r.v[,1:7];sink();sink(„M:\\res2.txt“);r.v [,8:14];sink()
48/50
5.5.5.
Simulation ältere Stiere MA
# Simulation anhand der Gammaverteilung
# Kategorie ältere Stiere MA
windows(width=7,height=7,pointsize=12,record=TRUE) # Mehrfach-Grafikfenster
# d.gew<-read.table(„M:\\gewichts.csv“,header=T,sep=“;“);d.gew$monat<-13
# Sample erstellen
res.tot=data.frame(run=0,xgattung=“MA“,m.theo=0,v.theo=0, m.eff=0,
v.eff=0,m3=0,v4=0,n=0,unten=0,oben=0,ausserhalb=0,T=0)
n.total<-2700
t.samples<-200
d.number<-data.frame(klasse=1:8)
parm.start<-c(16,0.033)
f.chisqg <- function(parm.start) {
t.pk_est <- pgamma(c(d.gew[-n.row,“bis“],Inf),shape=parm.start[1],rate=parm.start[2])
t.p_est <- c(t.pk_est[1],diff(t.pk_est)) # Anteil
t.n_est <-sum(d.gew[,“n_real“])*t.p_est
t.diff1 <-(d.gew[,“n_real“]-t.n_est)^2/t.n_est
sum(t.diff1)
}
for (i in 1:t.samples) {
m.start<-400+(i-1)*1
rate.gamma<- m.start/15000
shape.gamma<- m.start*rate.gamma
ran.sam<-rgamma(n.total,shape=shape.gamma,rate=rate.gamma)
m.gamma<-shape.gamma/rate.gamma
v.gamma<-shape.gamma*(1/rate.gamma)^2
m.eff<-mean(ran.sam)
s.eff<-sd(ran.sam)
v.eff<-var(ran.sam)
s.theo<-v.gamma^.5
d.gew<-as.data.frame(rep(0,16))
names(d.gew)<-„n_real“
t.c<-cut(ran.sam,breaks=c(0,150,175,200,225,250,275,300,325,350,375,400,425,450,475,500,Inf),labels=F)
d.gew<-data.frame(rep(0,16))
names(d.gew)<-„n_real“
d.data<-as.data.frame(tapply(ran.sam,t.c,length))
t.auswahl<-as.numeric(rownames(d.data))
d.gew[t.auswahl,1]<-d.data[,1]
# Anteil ausserhalb
n.total<-sum(d.gew$n_real)
n.row<-nrow(d.gew)
a.u <- 100*d.gew[1,1]/n.total
a.o <- 100*d.gew[16,1]/n.total
a.total<-a.u+a.o
# MA - Grenzen
t.vo<-c(0,150,175,200,225,250,275,300,325,350,375,400,425,450,475,500)
t.bi<- c(150,175,200,225,250,275,300,325,350,375,400,425,450,475,500,999)
d.gew$von<-t.vo
d.gew$bis<-t.bi
# Anteile neu berechnen
options(digits=9)
d.gew$p_real<-d.gew$n_real/n.total
# Anteile neu berechnen
# kumulierte Anteile
d.gew[,“pk_real“]<- cumsum(d.gew[,“p_real“])
# 1. kumulierter Anteil = 1. Anteil
d.gew$n_est <- rep(0,16)
d.gew$p_est <- rep(0,16)
d.gew$pk_est <- rep(0,16)
# Startwerte der Approximation
breite.class=d.gew[2,]$bis -d.gew[2,]$von # Klassenbreite
parm.start<-c(shape.gamma,rate.gamma)
# 3. Anpassung
# 3.a) Parameter schätzen
t.bis<-1:n.row
t.von<-1:n.row
res.opt<- optim(parm.start,f.chisqg) # ,control=list(trace=1,reltot=10^ (-320)))
shape.est<-res.opt$par[1]
rate.est<-res.opt$par[2]
m4.est<-shape.est/ rate.est
49/50
v4.est<-shape.est*(1/ rate.est)^2
s4.est<-v4.est^.5
# Quantile geschätzt
d.gew[,“pk_est“]<-pgamma(c(d.gew[-n.row,“bis“],Inf),shape=shape.est,rate=rate.est) # Resultate in Ausgangstabelle
übertragen
d.gew[n.row,“pk_est“]<-1 # Quantil k = 100 %
d.gew[,“p_est“]<-c(d.gew[1,“pk_est“],diff(d.gew[,“pk_est“]))
d.gew[,“n_est“]<- n.total*d.gew[,“p_est“] # nur „ganze“ Tiere möglich
d.gew[,“diff“]<-(d.gew[,“n_real“]-d.gew[,“n_est“])^2/d.gew[,“n_est“]
# Qualitätskontrolle durch quadrierte Abweichung zwischen theoretischen und beobachteten Quantilen
t.Test<-sum(d.gew[,“diff“]) # ungewichtet
# 3.b) Mittelwert und Varianz interpolieren
m.struc<-matrix(data=1:1000,nrow=n.row,ncol=1000,byrow=TRUE)
# Strukturmatrix
t.space<-as.matrix(d.gew[,“bis“]-d.gew[,“von“])/1000
# Breite der n.row * 1000 Stufen
m.von<- t.space[1:n.row,]*(m.struc[1:n.row,]-1)
# unteres Subklasseninkrement
m.bis<-t.space[1:n.row,]*m.struc[1:n.row,]
# oberes Subklasseninkrement
m.vong<-m.von+d.gew[,“von“]
# unteres Gewicht
m.bisg<-m.bis + d.gew[,“von“]
# oberes Gewicht
m.pkvon<-pgamma(m.vong,shape=shape.est,rate=rate.est) # Wahrscheinlichkeit kum. unten
m.pkbis<-pgamma(m.bisg,shape=shape.est,rate=rate.est)
# Wahrscheinlichkeit kum. oben
m.mean<-(m.vong+m.bisg)/2
# mittleres Gewicht
m.prob<-m.pkbis-m.pkvon
# mittlere Wahrscheinlichkeit
m.probrow<- as.matrix(apply(m.prob,1,sum))
# Wahrscheinlichkeit der Klasse=Zeile
m.wmean<-m.mean[1:n.row,]*m.prob[1:n.row,]
# gewichtete Mittel
m.wmeanrow<-as.matrix(apply(m.wmean,1,sum))
# gewichtetes Klassenmittel
row.mean <-as.matrix(m.wmeanrow[1:n.row,]/m.probrow[1:n.row,])
# Klassenmittel absolut
d.gew[,“m3“]<-row.mean
m3.est<- t(row.mean) %*% as.matrix(d.gew[,“n_real“]) / sum(d.gew[,“n_real“]) # Gesamtmittel als Klassenmittel
# gewichtet mit den tatsächlichen Anzahlen in den Klassen
m3.est
m.var<-(m.mean-matrix(m3.est,ncol=1000,nrow=n.row))^2
# Varianz pro Subklasse
m.varw<-m.var * m.prob
m.varwrow<-as.matrix(apply(m.varw,1,sum))
m.varwabs<-as.matrix(m.varwrow / m.probrow)
v3.est<- t(m.varwabs) %*% as.matrix(d.gew[,“n_real“]) / sum(d.gew[,“n_real“]) # Gesamtmittel als Klassenmittel
res.sim=data.frame(run=i,xgattung=“KV“,m.theo=m.gamma,v.theo=v.gamma,m.eff=m.eff,
v.eff=v.eff,m3=m3.est,v4=v4.est,n=n.total,unten=a.u,oben=a.o,ausserhalb=a.total,T=t.Test)
res.tot<-rbind(res.tot,res.sim)
res.tot
}
# Ausgabe
r.v<-res.tot[-1,]
r.v$run<-1:dim(r.v)[1]
r.v$vi<-qt(0.975,n.total-1)*(r.v$v4/11*12/r.v$n)^.5
r.v$vipr<-r.v$vi*(1/(1-r.v$ausserhalb/100))^2
# Output in zwei Dateien und Anzeige des gesamten Resultat-Dataframes
sink(„M:\\res1.txt“);r.v[,1:7];sink();sink(„M:\\res2.txt“);r.v [,8:14];sink()
# alle Daten
# d.gew
# t(res.tnew)
# res.t
50/50
Herunterladen