Skip to main content

Statistisches Testen

(a) Die sieben Schritte des statistischen Testens. (b) Der Chi-Quadrat-Test: Anwendungen und Beispiel.

Praxisbeispiel

Außenprüfungsfall: in einem Gewerbebetrieb bemängelt der Prüfer, dass die Tageseinnahmen nicht lognormalverteilt seien. Es wird grundlegend Erlaeutert, wie diese Tests ablaufen, und welche Fehlannahmen und Fallstricke lauern, und zu einem…

Unzulässigkeit

Es mangelt aber nicht nur an sauberer Methodik. Vielmehr ist die Annahme, dass die Lognormalverteilung das "Verteilungsideal" von Tageseinnahmen seien nur mit viel Wohlwollen auf ungenügende Lesekenntnisse zurückzuführen.

Vortrag "Datenanalyse in der Außenprüfung"

Vortragsfolien und Programmcode zu meinem Vortrag zu den statistischen Methoden der SRP. Behandelt werden: Benfordverteilung, Gleichverteilung und Lognormalverteilung bei Kasseneinnahmen. Nichts davon hält einer einfachen Überprüfung stand.

1 Anwendung in der Betriebsprüfung

1.1 Der Chi-Quadrat-Anpassungstest für Tagesumsätze

Bei bargeldintensiven Betrieben interessieren sich Betriebsprüfer für die Bareinnahmen. Nicht die tatsächlichen Einnahmen, sondern einen geringeren Betrag anzugeben, scheint verlockend zu sein, um gleich mehrere Steuerarten zu hinterziehen.

Die „Forschungshypothese“ des Betriebsprüfers ist gemäß seinem Auftrag am besten mit „ich vermute, dass der zu prüfende Betrieb Zahlen manipuliert hat“ zu beschreiben. Bei den täglichen Bareinnahmen konkretisiert sich dies zu „ich vermute, dass der zu prüfende Betrieb  nicht die tatsächlich angefallenen Bareinnahmen angegeben hat.“ Da es in der Regel für den Betrieb wirtschaftlich keinen Sinn machen dürfte, zu hohe Bareinnahmen anzugeben, wird hieraus „ich vermute, dass der zu prüfende Betrieb zu geringe Bareinnahmen angegeben hat.“

Nun wird recht willkürlich unterstellt (mehr dazu hier), dass die wirklichen Tageseinnahmen einer Lognormalverteilung folgen. Es ist nicht leicht, Umsätze zu manipulieren und gleichzeitig die Form der Verteilung einzuhalten. Daher biete es sich an, zu prüfen, wie gut die Verteilung der Tagesumsätze sich an eine Lognormalverteilung anpassen lässt. Wenn sie sich schlecht daran anpasst, so läge die Vermutung nahe, dass Zahlen manipuliert wurden.

1.2 Praxisbeispiel

1.2.1 Betrieb

Es handelt sich um einen bargeldintensiven Betrieb.

1.2.2 Daten

Es liegen aus den Jahren 2011, 2012 und 2013 insgesamt 914 Beobachtungen vor. Diese teilen sich wie folgt auf:

 

Tag \(d\)\(N_d\) — Anzahl
Beobachtungen
Durchschnittlich-
er Umsatz \(\bar{x}_d\)
Standardab-
weichung \(s_d\)
Montag148139.9061.89
Dienstag155193.4283.80
Mittwoch152166.8768.59
Donnerstag152177.0270.71
Freitag153245.9387.04
Samstag154168.3168.28

1.2.3 Schichtung

Schichtung ist auch als Gruppierung, Klassifizierung, Pooling bekannt. Es geht darum, Beobachtungen in geeigneten Gruppen zusammenzufassen, und diese dann gruppenweise zu analysieren. Hier

„wurde festgestellt, dass die Wochentage Montag bis Donnerstag in einem nahezu identischen Einnahmebereich liegen. Lediglich der Freitag weist deutlich erhöhte und der Samstag leicht erhöhte Tageseinnahmen im Vergleich zu dem Rest der Woche auf. Die Verteilungsanalyse wurde daher getrennt für die beiden Erlösebenen durchgeführt.“

Dem aufmerksamen Leser fallen in dem ersten Satz bereits drei Erlösebenen ins Auge, nämlich

  1. Montag–Donnerstag
  2. Samstag (leicht erhöht)
  3. Freitag (deutlich erhöht).

Vom Prüfer gemeint sind die beiden Erlösebenen Montag–Donnerstag und Freitag+Samstag. Wie nun „deutlich erhöht“ und „leicht erhöht“ definiert sind, warum zwei offensichtlich unterschiedliche Verteilungen (Freitag und Samstag) gepoolt werden und nach welchen Kriterien genau sich damit die Schichtung ergibt, bleibt unerklärt.

Betrachtet man die Mittelwerte und Standardabweichungen der Umsätze der einzelnen Tage in der obigen Tabelle, so kommen auch ohne vertiefte Statistikkenntnisse erhebliche Zweifel bezüglich der Vergleichbarkeit der Tagesumsätze auf. Das Vorgehens des Prüfers erscheint somit zumindest fragwürdig und bedarf einer guten Begründung. Auch fragt man sich: Wenn der Samstag mit einem Mittelwert von EUR 168 „leicht erhöhte Tageseinnahmen“ aufweist, wieso fällt der Dienstag mit durchschnittlich EUR 193 dann in eine Kategorie mit dem Montag, der lediglich EUR 139 im Durchschnitt aufweist?

1.2.4 Analyse des Prüfers

Für die Montags- bis Donnerstagsumsätze ergibt sich bei Vergleich mit einer Lognormalverteilung mit Lagemaß 2.207 und Streuungsmaß 0.210 (Logarithmen wurden etwas unüblich zur Basis 10 berechnet) eine Teststatistik von 28.36, die links vom kritischen Wert \(\chi^2(0.9995,df=13)=36.48\) liegt, berechnet.

Für die Freitags- und Samstagsumsätze ergibt sich bei Vergleich mit einer Lognormalverteilung mit Lagemaß 2.347 und Streuungsmaß 0.266 (Logarithmen wurden etwas unüblich zur Basis 10 berechnet) eine Teststatistik von 51.67, die rechts vom kritischen Wert \(\chi^2(0.9995,df=11)=33.14\) liegt, berechnet.

Welches Signifikanzniveau nun tatsächlich angewendet wird, ist aus dem Schreiben nicht ersichtlich. Es werden die Werte 1% und 0.05% genannt, aber eine Festlegung erfolgt nicht. Die p-Werte betragen 0.0081 (Mo-Do) und 3.128e-7, zu den meisten gängigen Signifikanzniveaus würde die Nullhypothese also verworfen werden.

1.2.5 Ergebnis

Die Forschungshypothese wird so bestätigt und das Prüfungsziel wird erreicht:

„Um die aus den o.g. Mängeln resultierende Unsicherheit auszugleichen wird im Rahmen der Betriebsprüfung ein Unsicherheitszuschlag i.H.v. 7% der Umsätze festgesetzt. Die netto Unsicherheitszuschläge des Prüfungszeitraums betragen: …“

Wieso es nun genau \(7\%\) sein sollen, ist mir unklar. Es ließe sich aus der Abweichung von der Verteilung durchaus der Effekt durch Truncation oder Censoring abschätzen.

2 Fallstricke

Der Prüfer statuiert in seinem Schreiben, dass

„die grafischen Auswertungen und die mathematisch ermittelten Gegenwahrscheinlichkeiten auf eine Erlöskappung der hohen Tageseinnahmen“

hindeuteten. Einer genaueren Betrachtung hält die statistische Analyse jedoch nicht stand. Er hat hier — recht offensichtliche — Fallstricke ignoriert, die wir uns ansehen wollen.

2.1 Ungeeignete "Schichtung"

2.1.1 Einfaches Beispiel (Simulation)

Um das Problem zu illustrieren, nehmen wir ein Beispiel her: Ein Betrieb erwirtschaftet tatsächlich lognormalverteilte Tagesumsätze. Am Mittwoch sind es im Median \(\sim 150\) Euro, und am Freitag sind es im Median \(\sim 400\) EUR. Wir simulieren die Werte von 150 Mittwochen und Freitagen. Die blauen Kästen enthalten Copy&Paste–fähigen R–Code, falls der Leser die Simulation selbst durchführen möchte.

t.df <- data.frame(
 Umsatz=c(
  rlnorm(150,meanlog=5,sdlog=0.6),
  rlnorm(150,meanlog=6,sdlog=0.25)
  ),
 Tag=rep(
  c('Mittwoch',
    'Freitag'),
    each=150
   )
  )

Stellen wir uns diese Daten jetzt dar, so zeigen sich erhebliche Unterschiede zwischen den Tagen, aber jeder Tag passt erstaunlich gut zu einer Lognormalverteilung, deren Dichte in der Abbildung unten als rote Kurve eingezeichnet wird.

library(lattice)
dev.new(width=12.95, height=8)
histogram(~Umsatz|Tag,
          data=t.df,
          type='density',
          ylim=c(0,0.006),
          panel = function(x, ...) {
           panel.histogram(x, ...)
           panel.mathdensity(dmath = dlnorm,
            col = "red",
            lwd=2,
            args = list(
             meanlog=mean(log(x)),
             sdlog=sd(log(x))
             )
            )
           }
          )

Kommen wir nun auf den Gedanken, diese Daten in einen Topf zu werfen, so ergibt sich folgendes Bild. Die rote Kurve ist die am besten dazu passende Lognormalverteilung, und wir stellen fest, dass diese nicht sonderlich gut passt. Um den Umsatzwert 200 herum übersteigt die rote Kurve die empirisch ermittelten Werte erheblich. Rechts davon (Umsätze von EUR 300 und mehr) liegt die Kurve erheblich unter den beobachteten Werten. Ganz am rechten Rand fehlen zu der Kurve passende beobachtete Werte fast vollständig.

dev.new(width=12.95, height=8)
histogram(~Umsatz,
          data=t.df,
          type='density',
          ylim=c(0,0.004),
          breaks=20,
          panel = function(x, ...) {
           panel.histogram(x, ...)
           panel.mathdensity(dmath = dlnorm,
            col = "red",
            lwd=2,
            args = list(
             meanlog=mean(log(x)),
             sdlog=sd(log(x))
             )
            )
           }
          )

Dies liegt aber nicht daran, dass Zahlen manipuliert wurden. Wir wissen von oben, dass die Daten wirklich aus Lognormalverteilungen stammen. Die gepoolten Daten aber stammen nun nicht mehr aus einer Lognormalverteilung, sondern aus einer Mischungsverteilung, die aus zwei Lognormalverteilungen besteht. Vergleicht man die gepoolten Daten mit einem \(\chi^2\)–Anpassungstest mit einer Lognormalverteilung, so wird dieser die Nullhypothese, dass die Daten lognormalverteilt sind (fast) immer ablehnen. Die falsche/unterlassene Schichtung der Daten erzwingt so ein für den geprüften Betrieb unvorteilhaftes Testergebnis, obwohl alle Daten aus Lognormalverteilungen stammen.

2.1.2 Praxisfall von oben

Die Gruppierung wurde in Montag–Donnerstag und Freitag + Samstag vorgenommen. Dass es durchaus sein könnte, dass

  1. die Montagsumsätze nicht zu den Dienstagsumsätzen passen
  2. und auch die Freitagsumsätze nicht zu den Samstagsumsätzen passen

ergibt sich bereits aus der Tabelle der deskriptiven Statistiken weiter oben. Auch eine intuitive grafische Analyse zeigt, dass viele der so zusammengefassten Werte nicht aus der selben Verteilung zu stammen scheinen. In der folgenden Abbildung werden die Werteverteilungen tageweise dargestellt. Die blaue Kurve ist die Wahrscheinlichkeitsdichte der jeweils aus den Tageswerten geschätzten Lognormalverteilung, die rote Kurve ist die Wahrscheinlichkeitsdichte, gegen die der Prüfer die Werte verglichen hat. Dass die rote Kurve am Montag, Freitag und Samstag nicht ansatzweise passt, ist sofort ersichtlich.

Die Zulässigkeit der Gruppierung ist somit anzuzweifeln. Vielmehr sollte eine Gruppierung mit geeigneter statistischer Methodik begründet werden.

Um keine Verteilungsannahmen treffen zu müssen, bietet sich der Kolmogorov–Smirnov–Test zum paarweisen Vergleich der Tagesumsatzverteilungen an. Die p-Werte der Tests auf Verteilungsgleichheit finden sich in der nachfolgenden Tabelle.

 DiMiDoFrSa
Mo5.337e-070.00026257.825e-05<2.2e-160.001268
Di 0.05680.46086.609e-060.0528
Mi  0.63463.276e-110.8332
Do   1.616e-090.7999
Fr    8.163e-12

Poolbar erscheinen demnach nur (Dienstag, Donnerstag) oder (Mittwoch, Donnerstag, Samstag). Um eine möglichst große Gruppengröße zu erreichen, entscheiden wir uns für das Tripel aus Mittwoch, Donnerstag und Samstag. Montag, Dienstag und Freitag sind jeweils einzeln zu betrachten, da die Umsatzverteilung an keinem dieser Tage zu der Umsatzverteilung eines anderen Tages zu passen scheint, und wir den Test zur Ablehung zwingen würden, wenn wir aus unterschiedlichen Verteilungen stammende Umsatzzahlen vermischten.

Da wir nun viermal testen werden (einmal die Montage; einmal die Dienstage; einmal die Mittwoche, Donnerstage und Samstage; einmal die Freitage), und wir ein globales Signifikanzniveau von \(\alpha=1\%\) einhalten wollen, wählen wir das individuelle Signifikanzniveau nach Bonferroni mit \(\alpha_m = \alpha/4 = 0.0025\). Dies ist notwendig, um dem Problem des multiplen Testens entgegenzuwirken.

Die individuellen \(\chi^2\)–Tests liefern folgende Ergebnisse:

Gruppe

Teststa-
tistik \(\chi^2_m\)

kritischer WertTestentscheidung
Montag10.72\(\chi^2(0.9975,df=4)=16.42\)\(H_0\) beibehalten
Dienstag5.66\(\chi^2(0.9975,df=4)=16.42\)\(H_0\) beibehalten
Mi, Do, Sa46.17\(\chi^2(0.9975,df=7)=22.04\)\(H_0\) ablehnen
Freitag6.25\(\chi^2(0.9975,df=3)=14.32\)\(H_0\) beibehalten

Die Anzahl der Freiheitsgrade \(df\) richtet sich dabei nach der Anzahl der Klassen (bestimmt nach Scott; zusammengelegt, so dass die erwartete Klassenhäufigkeit mindestens \(\geq 5\) ist) in den Gruppen abzüglich 3, da die Verteilungsparameter geschätzt werden.

2.1.3 Schlussfolgerung

Umsatzzahlen von Tagen zu poolen, an denen unterschiedliche durchschnittliche Umsätze erzielt werden, ist nicht zulässig. Eine Ablehnung der Nullhypothese ist hier vorprogrammiert. Der Test verwirft lediglich für die Tage Mittwoch, Donnerstag und Samstag, dass die Umsatzverteilung einer Lognormalverteilung entspricht.

2.2 Ignorierte Trends

Die Mittwochs-, Donnerstags- und Samstagsumsätze weisen einen globalen und saisonale Trends auf. Der globale Trend ist durch die gerade ansteigende Linie in der folgenden Abbildung illustriert. Die saisonalen Entwicklungen zeigen sich in der grünen Kurve; irgendwo um den Monat Juni herum ist stets „Hochkonjunktur“ in dem Betrieb.

Dies führt genauso wie die falsche Einteilung der Tage zu Mischung von Zufallsvariablen aus unterschiedlichen Verteilungen, so dass die Nullhypothese, dass die Daten aus einer Lognormalverteilung stammen, verworfen wird. Behandelt man auch dieses Problem, so verschwindet auch hier das signifikante Testergebnis.

3 Weitere Probleme

3.1 Multiples Testen

3.1.1 Der Fehler 1. Art und viele Betriebe

Oben bereits kurz betrachtet haben wir den Fehler 1. Art (den \(\alpha\)–Fehler als die Wahrscheinlichkeit, die Nullhypothese abzulehnen, wenn sie wahr ist. Lehnt man die Nullhypothese ab, obwohl sie wahr ist, so begeht man einen Fehler, und genau dies ist der sogenannte Fehler 1. Art. Haben wir unser \(\alpha=1\%\) gewählt und testen wir dann die Umsätze von 100,000 Betrieben, deren Umsätze alle garantiert aus Lognormalverteilungen stammen, so wird der Test in ungefähr 1% der Fälle (also bei ungefähr 1000 Betrieben) die Nullhypothese ablehnen — obwohl sie immer wahr ist. Wird das Werkzeug in der Betriebsprüfung also routinemäßig eingesetzt, so ist garantiert, dass es selbst dann False-Positives generiert, wenn niemand betrügt.

3.1.2 Der Fehler 1. Art und ein Betrieb

Stellt sich heraus, dass die Umsätze eines jeden Werktages einzeln gegen eine Lognormalverteilung geprüft werden müssen, so werden sechs Tests durchgeführt. Bei jedem Test ist die Chance, einen Fehler 1. Art zu begehen \(\alpha\), also in unserem Beispiel \(1\%\). Die Chance bei einem Test keinen Fehler 1. Art zu begehen ist somit \(99\%\). Die Chance bei sechs unabhängigen Tests keinen einzigen Fehler erster Art zu begehen ist dann \(0.99^6=0.9415\). Das wiederum bedeutet, die Chance, mindestens einen Fehler 1. Art bei sechs Tests zu begehen, liegt bei \(5.85\%\). Mit zunehmender Anzahl der durchgeführten Tests sinkt also die Chance des Betriebes, durch die Tests vom Betrugs–Generalverdacht freigesprochen zu werden, selbst wenn keinerlei Manipulation vorgenommen wurde — wer häufig genug statistisch testet, wird irgendwann auch mal ein signifikantes Testergebnis erhalten, auch wenn es keinerlei sachliche Grundlage dafür gibt (s.o.).

Grafisch veranschaulicht für ein \(\alpha=1\%\) und eine zunehmende Anzahl von Tests:

 

dev.new(width=12.95, height=8)
curve(1-0.99^x,1,100,
      lwd=2,
      col="red",
      xlab="Anzahl der unabhängigen Tests",
      ylab="Wahrscheinlichkeit",
      ylim=c(0,0.65),
      yaxt="n",
      main="Wahrscheinlichkeit, mindestens eine Nullhypothese fälschlich abzulehnen"
      )
axis(2, at=pretty(seq(0,0.65,0.05)), lab=paste0(pretty(seq(0,0.65,0.05)) * 100, " %"), las=TRUE)

Eine Anzahl von 20, 50 oder gar 100 Tests mag auf den ersten Blick viel erscheinen, doch sind diese Anzahlen an Tests schnell beieinander. Alleine für unseren Kleinstbetrieb haben wir 15 Kolmogorov–Smirnov–Tests und vier \(\chi^2\)–Tests, also insgesamt 19 Tests, durchgeführt.

3.1.3 Der Fehler 2. Art

Dies ist die Wahrscheinlichkeit, die Nullhypothese beizubehalten, obwohl sie falsch ist. Wie groß diese Wahrscheinlichkeit in Wirklichkeit ist, weiß man (fast) nie. Dieser Fehler kann sich zu Ungunsten des geprüften Betriebes auswirken, falls z.B. die Verteilungen von Tagesumsätzen auf Poolbarkeit geprüft werden. Die Nullhypothese hier ist „können zusammengelegt werden.“ Falls dies nicht zutrifft, und der Test die Nullhypothese nicht verwirft, werden nun Daten gepoolt, die zu dem bereits beschriebenen Problem führen können.

3.2 Verteilungsannahme

Damit die getesteten Zahlen eine Chance haben, den Test zu bestehen, muss natürlich wohlbegründet sein, dass die Tagesumsätze auch tatsächlich einer Lognormalverteilung folgen. Hier zieht sich der Prüfer auf den Allgemeinplatz

„Erwartungsideal […] ist das allgemeine Verteilungsgesetz für Wirtschaftsdaten, die Logarithmische (sic!) Normalverteilung; diese empirische Erkenntnis stammt übereinstimmend aus wissenschaftlichen Studien zu Bankeinlagen, Immobilien-, Einkommens-, Umsatz-, Rechnungs- und Kostenwerten, Betriebsgrößen nach Arbeitnehmern, Produktion, Kapital sowie Fabrikationskosten etc.“

Das Wissen, um welche Studien es sich handeln soll, ist uns der Prüfer bis heute schuldig geblieben. Die Lognormalverteilung als „allgemeines Verteilungsgesetz für Wirtschaftsdaten“ zu bezeichnen ist irgendetwas zwischen naiv und böswillig. Eine Übersicht über viele univariate Verteilungen findet sich auf Seite 3 dieses PDF–Dokuments (Ausschnitt im Bild). Die Lognormalverteilung befindet sich dort im oberen rechten Bereich. Es ist eine berechtigte Frage, weshalb von allen diesen Verteilungen nun ausgerechnet die Lognormalverteilung am besten die Tagesumsätze approximieren soll.

Die irrige Annahme, dass alle Wirtschaftsdaten schon irgendwie lognormalverteilt sein werden, mag von folgendem Sachverhalt herrühren, der für Kapitalrenditen bei vollständiger Wiederanlage gilt (z.B. Aktienrenditen). Wenn \(r_t\) die Rendite einer Kapitalanlage am Tag \(t\) mit \(t=1, 2, \dots, T\) ist, dann ist die Rendite über den Gesamtzeitraum

$$(1+R) =  \prod_{t=1}^T (1+r_t),$$

so dass

$$\log(1+R) =  \sum_{t=1}^T \log(1+r_t).$$

Stammen die \(r_t\) nun aus einer Verteilung mit endlichen und konstanten Erwartungswert \(\mu\) und Varianz \(\sigma^2\), so ist \(\log(1+R)\) tatsächlich und unabhängig von der Verteilung der \(r_t\) nach Central Limit Theorem mindestens approximativ normalverteilt,

$$\log(1+R) =  \sum_{t=1}^T \log(1+r_t) \sim \mathcal{N}(T\mu,T\sigma^2),$$

womit das Produkt (approximativ) lognormalverteilt ist.

Das trifft aber nur zu, wenn

  1. \(T \rightarrow \infty\), also groß wird. Eine handvoll Werte reichen hierfür bei Weitem nicht aus.
  2. die Werte auch tatsächlich multiplikativ verknüpft sind. Dass irgendwo in der Entstehungsgeschichte der untersuchten Werte mal eine Multiplikation (z.B. Preis × Menge) auftaucht, genügt hier nicht. Der untersuchte Wert muss sich als Produkt in der Form \(\prod_{t=1}^T (\dots)_t\) schreiben lassen.

Im obigen Fall hat der Betrieb nie mehr als 20 Einzelumsätze am Tag getätigt. Diese wurden zum Tagesumsatz aufaddiert und nicht multipliziert. Es lag also keinerlei Grundlage vor, eine Lognormalverteilung für die Tagesumsätze zu unterstellen. Mehr Details hierzu finden sich auf der Seite zur regelmäßigen (methodischen) Unzulässigkeit des Verfahrens.