Wie Vorhersagbar sind Menschen?

In der Physik ist es keine Seltenheit, den Ausgang eines Experimentes mit einer Genauigkeit von 10-20 Nachkommastellen vorhersagen zu können. Die unbelebte Natur, zumindest der makroskopische Teil davon, zeigt wenig bis keine Varianz. Physiker fragen sich nicht, welcher R² für Modelle akzeptabel ist, weil die Zusammenhänge i.d.R. so perfekt sind, dass sich die Frage erübrigt. Unerklärbare Varianz ist etwas, mit dem sich vor allem Sozialwissenschaftler quälen müssen. Was nicht die Schuld der Wissenschaftler ist. Die Vorhersagbarkeit der belebten Natur kommt sehr schnell an eine Grenze kommt, ohne dass man etwas dagegen tun könnte. Hier eine Demonstration.

Selbstbewusstsein lässt sich recht gut aus Neurotizismus vorhersagen. Nimmt man Extroversion hinzu, wird die Vorhersage noch besser. Ebenso wenn man das Gewicht, Erfahrungen der Jugend und Impulsivität hinzunimmt. Ansonsten gibt es in dem Datensatz mit n = 530 Leuten und mehr als 100 Variablen nichts mehr, was die Vorhersage noch verbessern könnte. So sieht das Modell mit den fünf Faktoren aus:

Für psychologische Verhältnisse ein exzellentes Modell: Hohe standardisierte Regressionskoeffizienten, niedriger p-Wert für jeden Faktor, hohes R². Aber wie genau sind die Vorhersagen daraus? Wie oft würde man auf Basis dieses Modells eine korrekte Vorhersage für das Maß an Selbstbewusstsein einer Person machen? Wertet man Vorhersageerfolg so, dass der berechnete Wert innerhalb einer halben Standardabweichung des berichteten Werts liegt (eine faire Schwelle, bedenkt man, dass die meisten Menschen innerhalb von -2 bis 2 Standardabweichungen liegen), dann ergibt sich ein Vorhersageerfolg von 52 %. Mit Neurotizismus alleine 47 %.

Man sollte das jetzt nicht mit einem Münzwurf vergleichen, da es hier nicht um eine Vorhersage Ja/Nein ging. Die Wahl der Schwelle entspricht grob einer Unterteilung der Skala in acht Einheiten. Der Vorhersageerfolg basierend auf bloßer Zufallsschätzung wäre 1/8 = 12,5 % gewesen. Das Modell bringt also definitiv eine Verbesserung gegenüber einer Zufallsschätzung. Es ist nicht nutzlos. Aber auch nicht sonderlich verlässlich.

Man könnte einwerfen, dass es sich nur um einen Fall handelt, aber meine Erfahrung mit psychologischen Datensätzen widerspricht dem ganz klar. 50/50 bei einer Fehlertoleranz von 0,5 Standardabweichungen ist eine typische Grenze, an die man bei der Vorhersage mit sehr guten Modellen kommt. 60/40 wäre schon eine Revolution. Der Grund ist sehr einfach: Viel unerklärbare Varianz. Im Datensatz finden sich dutzende Leute, bei den alle Risikofaktoren für geringes Selbstbewusstsein vorhanden sind, die jedoch keinerlei Probleme in dieser Hinsicht zeigen. Und andere, bei denen keiner der Risikofaktoren vorhanden ist und trotzdem unter geringem Selbstbewusstsein leiden. Es gibt keine cleveren Techniken, um solche unerklärbare Varianz zu domestizieren. Man muss einfach akzeptieren, dass die unbelebte so gebaut ist und die Vorhersagbarkeit entsprechend prinzipiell beschränkt ist.

Es gibt die Hoffnung, dass Hirnscans dieses Problem lösen könnten. Statt die Leute zu fragen, misst man sie und die unerklärbare Varianz verschwindet. Bisher ist das nicht geschehen. Zumindest mit den modernen Mitteln bleibt die Varianz auch bei Hirnscans enorm. Zum Beispiel BPD-Skala und Amygdala-Volumen. Ein kleineres Amygdala-Volumen führt in der Tendenz zu höheren Werten auf der BPD-Skala, aber der Vorhersageerfolg bei diesem Zusammenhang liegt ebenso im Bereich 50/50. Wieder eine deutliche Verbesserung zur Zufallsschätzung, aber es bleibt viel Unklarheit übrig.

Stab Wounds in Male and Female Victims

I recently analyzed the distribution of number of stab wounds in fatal stabbings, I also wanted to have a look at whether there are any gender differences. The limited data implies that female victims of stabbings (both in lethal and non-lethal stabbings) tend to receive more stab wounds than male victims. First data from “Murder By Stabbing” (A.C. Hunt) on this, which looked at n = 100 victims of fatal stabbings:

Number of Stab WoundsMale VictimsFemale Victims
155 %19 %
2-1029 %42 %
11-209 %19 %
> 207 %21 %

The difference is quite noticeable. About half the male victims received one stab wound, while this was only true for every fifth female victim. For male victims the chance of receiving more than 20 stab wounds was 1 in 14, while for female victims it was 1 in 5, three times more likely. However, given the small sample size, general conclusions should only be drawn with extreme caution. The data is in line though with what a larger Israeli sample found. “The Differences in Stabbing-Related Injury Profiles of Men and Women” (Michael Rozenfeld) includes data from n = 9173 non-fatal stabbings and produces the following result:

Number of Stab Wounds Male Victims Female Victims
1-288 %81 %
3+12 %19 %

Unfortunately the breakdown leaves much to the imagination, but as it stands, it does show that female victims are 1.6-times more likely to receive 3+ stab wounds than male victims. In agreement with this, the study also notes that female victims are about two times more likely to receive an Injurity Severity Score ISS > 16 (possibly fatal injury) than male victims.

Why do female victims seem to receive more stab wounds? One reason might be strength. Defense wounds are quite common in stabbings, people commonly fight back. And the stronger the victim, the more difficult it should be for the perpetrator to add more stab wounds. So one can see how the edge in strength for males might translate into fewer stab wounds.

The setting can provide an alternative (or additional) explanation. The Israeli study found that 48 % of female victims are stabbed at home and 26 % on the street, while for male victims only 6 % are stabbed at home and 51 % on the street. In short: Women tend to be stabbed at home, men on the street. When stabbing someone on the street, there are a lot of rational reasons to keep it short: possible witnesses, possible interferences by bystanders, presence of cameras, etc … At home however, a perpetrator can take his time and keep the stabbing going to subjective completion. In this way, the setting might explain the differences in the number of stab wounds.

Number of Wounds in Fatal Stabbings

Using two publications about fatal stabbings, one being “Murder By Stabbing” (A.C. Hunt) and “Patterns of Stab Wounds: A Six Year Study” (D.A. Rouse), I derived a formula for the probability distribution of number of stab wounds by fitting the data to a Zipf distribution. When a range of stab wounds was given rather than a precise point value, I used a midpoint estimate before feeding the data to the regression program. Here first the tables that can be found in the publications.

“Murder By Stabbing” (A.C. Hunt, n = 100 victims)

Number of Stab WoundsIncidence among Fatal Cases
138 %
2-1035 %
11-2014 %
21-306 %
> 308 %

“Patterns of Stab Wounds: A Six Year Study” (D.A. Rouse, n = 152 victims)

Number of Stab Wounds Incidence among Fatal Cases
144 %
213 %
39 %
45 %
51 %
67 %
73 %
83 %
94 %
101 %
11-206 %
21-303 %
31-401 %
> 401 %

Fitting both and then calculating the average of the constants, linearly weighted by study size, leads to the following formula for the expected share p of fatal cases in which n stab wounds are observed:

p = 40 / n^1.4

I rounded the constants liberally as one should not expect high precision from such small samples. I also checked whether an exponential fit might lead to a lower sum of squared residuals, however, the Zipf fit outperformed the exponential fit quite noticeably. Both from the table and the fit, one can see that fatal stabbings with a large number of wounds (overkill) are not as uncommon as one might suspect. In about 1 in 6 fatal stabbings the victim receives more than 10 wounds, in 1 in 12 stabbings more than 20 wounds, in 1 in 25 stabbings more than 30 wounds and in roughly 1 in 100 stabbings even more than 40 wounds.

Unsurprisingly, a comparison to data from non-fatal stabbings shows that a larger number of wounds are more common in fatal stabbings than in non-fatal ones. Here is the incidence of stab wounds in non-fatal stabbings, taken from “The Differences in Stabbing-Related Injury Profiles of Men and Women” (Michael Rozenfeld), a large Israeli sample of n = 9173 non-fatal stabbings, compared to what the above two studies found for the fatal cases:

Number of Stab WoundsNon-Fatal StabbingsFatal Stabbings
1-287 %55 %
3+13 %45 %

Unfortunately, the Israeli study does not allow a better breakdown, but one can clearly see that cases with three or stab wounds are much more frequent in cases with fatal outcomes. In a later post I want to go more into the site of the stab wounds as well as defense wounds, but for now, I will leave it at mentioning that the chest is the most common site for stab wounds, being the target (or one of the target sites) in about 50 % of non-fatal and 75 % of fatal cases. In a series of 14 stabbing videos I recently watched, the chest was also the most common site for the initial stab wound (7 out of 14 cases), followed by the abdomen (5 out of 14) and back (2 out of 14).

Blood Loss After Severing an Artery (CAREFUL: GRAPHIC CONTENT)

Recently I’ve been going through stabbing videos from Kaotic and I found an excellent example that allows an estimation of the rate of blood loss after an artery has been cut. The video shows an altercation in the open-dining area of a bar. A middle-aged man approaches and antagonizes a young man, who can be seen sitting at a table. The young man gets up, draws a knife and stabs the middle-aged man. One of the stabs hits an artery and blood can be seen pouring out. In some frames one can even see the parabolic trajectory of the massive blood stream, which can be used to estimate the flow speed and volume flux.

The initial path of the trajectory seems to be about alpha = 20° down, hitting the floor at a distance of roughly one and a half feet lengths, so about d = 0.45 m. This translates to an ejection speed of v = 0.9 m/s = 90 cm/s. Given that an artery has a cross-section of around A = 3 cm², the volume flux should be Q = 270 cm³/s = 16 Liter/Min = 0.25 Liter/s. Note that since blood pressure decreases as blood is lost, we should expect that ejection speed to decrease as well. So instead of a linear model (constant loss of 0.25 L/s) one should favor an exponential model (constant loss of 5 %/s). Given that we begin at 5 L of blood, which was also used to calculate the aforementioned percentage, we get the following formula for the remaining blood in the body after t seconds:

V = 5*0.95^t

Roughly speaking, people enter a state of limited motor function after 30 % of blood is lost (1.5 L lost or V = 3.5 L) and collapse once 40 % of blood is lost (2 L lost or V = 3 L). So after an artery has been severed, we should expect the two events to occur after the following time span:

  • Limited Motor Function: 7 s
  • Collapse: 10 s

This calculated blood loss and the predictions made from it seem to agree quite well with what can be seen in the video. The severing of the artery occurs at the time stamp 1:18. The victim starts to make disoriented / wobbly motions at around 1:26, so 8 seconds after the stabbing. He collapses at 1:30, which is 12 seconds after the stabbing. Any signs of life end very soon after that. From the calculations and the video it’s easy to see why severing of arteries has a near 100 % mortality even in the best of circumstances.

Here are some key moments of the fatal altercation:

Begin of the Altercation
First Stab
Knife Blade Visible
Second Stab – Note that there is already blood below the left foot
Another man steps in and breaks up the fight
Lots of blood on the ground already
Parabolic blood stream can be seen
Again the clearly visible blood stream
The stream becomes more of a fountain. The blood loss is severe
The victim wobbles back and collapses
All signs of life cease. The perpetrator walks off

Link to the video.

Erweiterte Todesuhr

Habe die Funktion der Todesuhr noch etwas erweitert. Es lassen sich jetzt die Charakteristiken einer zweiten Person eingeben und es wird berechnet, basierend auf der Annahme, dass die Todesjahre normalverteilt sind mit einer Standardabweichung von 11 Jahren (Mittelwert dieser beiden Publikationen), wie wahrscheinlich es ist, dass Person 2 vor Person 1 stirbt. Dies einmal gemäß den unveränderten Lebenserwartungen aus den Sterbetafeln 2019 des Statistischen Bundesamts wie auch den veränderten Lebenserwartungen gemäß den Inputs zu Bewegung, Übergewicht, Rauchen, etc … Es lässt sich jetzt ebenfalls ein Testjahr (im Beispiel-Output 2030) eingeben und gemäß der Normalverteilung wird angezeigt, wie wahrscheinlich es ist, dass die jeweiligen Personen vor diesem Testjahr sterben.

Beispiel-Output für mich und eine gewisse andere Person:

------ Values for Person 1 ------

Birth Year: 1983
Gender: Male

Expected Remaining Lifespan (Table): 42
Expected Remaining Lifespan (Adjusted): 36

Expected Death Year (Table): 2063
Expected Death Year (Adjusted): 2057

Probability of Dying before 2030 (Table): 0.13 %
Probability of Dying before 2030 (Adjusted): 0.74 %


------ Values for Person 2 ------

Birth Year: 1958
Gender: Female

Expected Remaining Lifespan (Table): 22
Expected Remaining Lifespan (Adjusted): 26

Expected Death Year (Table): 2043
Expected Death Year (Adjusted): 2047

Probability of Dying before 2030 (Table): 11.86 %
Probability of Dying before 2030 (Adjusted): 5.79 %


------ Simulation Based on Normally Distributed Death Years ------

Probability of Person 2 Dying Before Person 1 (Table): 90.06 %
Probability of Person 2 Dying Before Person 1 (Adjusted): 73.00 %

Wie wissenschaftlich sind die Berechnungen?

  • Grundlage für alles ist ein fast perfekter Fit der Sterbetafeln 2019, separat für Männer und Frauen, da die Unterschiede der Verläufe recht deutlich sind
def funcm(x):
    return (79.02-1.317*x**0.8806)/(1+0.000004896*x**2.776)

def funcf(x):
    return (83.82-1.334*x**0.8906)/(1+0.000000820*x**3.136)
  • Die Annahme der Normalverteilung der Todesjahre ist in der Praxis gut erfüllt
  • Die Standardabweichung müsste sich exakt aus den Sterbetafeln bestimmen lassen. Aber solange ich nicht weiß wie, bleiben die 11 Jahre als Annahme. Dürfte keine großen Verzerrungen bringen
  • Die maximale Erhöhung / Reduktion der Lebenserwartung durch einen gegebenen Lifestyle-Faktor ist akademischen Quellen entnommen
  • Größtes Problem ist die lineare Addition der Erhöhung / Reduktion der Lebenserwartungen. Rauchen bringt eine Reduktion bis zu 9 Jahre (bei smoking_scale = 1), Übergewicht bis zu 5 Jahre (bei obesity_scale = 1), das heißt aber nicht, dass es bei übergewichtigen Rauchern bis zu 9 + 5 = 14 Jahren sind. So funktioniert das nicht, aber ohne die jeweiligen Korrelationen zu kennen, bleibt es die beste Annahme
  • Die Wahl der Skalenwerte ist subjektiv. Wer nie geraucht hat, setzt smoking_scale = 0. Wer seit dem Alter von 10 Jahren drei Packungen pro Tag raucht, setzt smoking_scale = 1. Wer irgendwo dazwischen liegt, setzt irgendwas wohlpassendes dazwischen. Was ist wohlpassend? Das muss jeder selbst entscheiden.

Der Code mit ausführlichen Kommentaranweisungen zum Input und Links zu den Quellen. Funktioniert auch in diesem Online-Compiler.

import scipy
from scipy import stats
import numpy as np


# USER INPUT: SPECIFY CURRENT YEAR AND TEST YEAR
currentyear = 2021
testyear = 2030


# USER INPUT: SPECIFY GENDER AND BIRTH YEAR FOR PERSON 1
# if male set to 1, otherwise to 0
male = 1
birthyear = 1983

# USER INPUT: SPECIFY CHARACTERISTICS FOR PERSON 1
# USER INPUT: ONLY ADJUST SCALE VALUES

# from 0 to 1
# https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3395188/

exercise_scale = 0.3
exercise_add = 7

# from 0 to 1
# https://www.acpjournals.org/doi/abs/10.7326/0003-4819-138-1-200301070-00008

obesity_scale = 0.3
obesity_red = 5

# from 0 to 1
# https://www.bmj.com/content/345/bmj.e7093.full.pdf+html

smoking_scale = 0.7
smoking_red = 9

# from 0 to 1
# https://jamanetwork.com/journals/jama/article-abstract/2513561

wealth_scale = 0.6
wealth_add = 12

# from 0 to 1
# https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2366041/

education_scale = 0.8
education_add = 3.5

# from 0 to 1
# https://pubmed.ncbi.nlm.nih.gov/21593516/

mental_disorder_scale = 0.7
mental_disorder_red = 15




# USER INPUT: SPECIFY IF COMPARISON TO SECOND PERSON SHALL BE MADE
# To Compare to Another Person, set to 1. Otherwise 0
testperson = 1


# USER INPUT: SPECIFY GENDER AND BIRTH YEAR FOR PERSON 2
# if male set to 1, otherwise to 0
tp_male = 0
tp_birthyear = 1958


# USER INPUT: SPECIFY CHARACTERISTICS FOR PERSON 2
# USER INPUT: ONLY ADJUST SCALE VALUES

# Set to 1 to copy all following characteristics from person 1
copyall = 0

# from 0 to 1
# https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3395188/

tp_exercise_scale = 0.3
exercise_add = 7

# from 0 to 1
# https://www.acpjournals.org/doi/abs/10.7326/0003-4819-138-1-200301070-00008

tp_obesity_scale = 0.0
obesity_red = 5

# from 0 to 1
# https://www.bmj.com/content/345/bmj.e7093.full.pdf+html

tp_smoking_scale = 0.1
smoking_red = 9

# from 0 to 1
# https://jamanetwork.com/journals/jama/article-abstract/2513561

tp_wealth_scale = 0.7
wealth_add = 12

# from 0 to 1
# https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2366041/

tp_education_scale = 0.2
education_add = 3.5

# from 0 to 1
# https://pubmed.ncbi.nlm.nih.gov/21593516/

tp_mental_disorder_scale = 0.4
mental_disorder_red = 15


# ----------------------
# END OF ALL USER INPUTS
# ----------------------

    
# Functions are fits from Sterbetafeln 2019 for males and females

def funcm(x):
    return (79.02-1.317*x**0.8806)/(1+0.000004896*x**2.776)

def funcf(x):
    return (83.82-1.334*x**0.8906)/(1+0.000000820*x**3.136)


if copyall > 0.5:

    tp_exercise_scale = exercise_scale
    tp_obesity_scale = obesity_scale
    tp_smoking_scale = smoking_scale
    tp_wealth_scale = wealth_scale
    tp_education_scale = education_scale
    tp_mental_disorder_scale = mental_disorder_scale


print('------ Values for Person 1 ------')

age = currentyear-birthyear

if male > 0.5:
    years_left = round(funcm(age),0)
else:
    years_left = round(funcf(age),0)

deathyear_table = currentyear+years_left

deathyear = deathyear_table + exercise_scale*exercise_add - obesity_scale*obesity_red - smoking_scale*smoking_red + wealth_scale*wealth_add + education_scale*education_add - mental_disorder_scale*mental_disorder_red

years_left_adj = deathyear-currentyear


print()
print('Birth Year:', birthyear)

if male > 0.5:
    print('Gender: Male')
else:
    print('Gender: Female')

print()
print('Expected Remaining Lifespan (Table):',  "%.0f" % years_left)
print('Expected Remaining Lifespan (Adjusted):',  "%.0f" % years_left_adj)
print()
print('Expected Death Year (Table):',  "%.0f" % deathyear_table)
print('Expected Death Year (Adjusted):',  "%.0f" % deathyear)

z1 = (testyear-deathyear_table)/11
p1 = 100*stats.norm.cdf(z1)

z2 = (testyear-deathyear)/11
p2 = 100*stats.norm.cdf(z2)

print()

print('Probability of Dying before', testyear, '(Table):',  "%.2f" % p1, '%')
print('Probability of Dying before', testyear, '(Adjusted):',  "%.2f" % p2, '%')


if testperson > 0.5:

    print()
    print()
    print('------ Values for Person 2 ------')

    tp_age = currentyear-tp_birthyear

    if tp_male > 0.5:
        tp_years_left = round(funcm(tp_age),0)
    else:
        tp_years_left = round(funcf(tp_age),0)

    tp_deathyear_table = currentyear+tp_years_left

    tp_deathyear = tp_deathyear_table + tp_exercise_scale*exercise_add - tp_obesity_scale*obesity_red - tp_smoking_scale*smoking_red + tp_wealth_scale*wealth_add + tp_education_scale*education_add - tp_mental_disorder_scale*mental_disorder_red

    tp_years_left_adj = tp_deathyear-currentyear


    print()
    print('Birth Year:', tp_birthyear)

    if tp_male > 0.5:
        print('Gender: Male')
    else:
        print('Gender: Female')

    print()
    print('Expected Remaining Lifespan (Table):',  "%.0f" % tp_years_left)
    print('Expected Remaining Lifespan (Adjusted):',  "%.0f" % tp_years_left_adj)
    print()
    print('Expected Death Year (Table):',  "%.0f" % tp_deathyear_table)
    print('Expected Death Year (Adjusted):',  "%.0f" % tp_deathyear)

    tp_z1 = (testyear-tp_deathyear_table)/11
    tp_p1 = 100*stats.norm.cdf(tp_z1)

    tp_z2 = (testyear-tp_deathyear)/11
    tp_p2 = 100*stats.norm.cdf(tp_z2)

    print()

    print('Probability of Dying before', testyear, '(Table):',  "%.2f" % tp_p1, '%')
    print('Probability of Dying before', testyear, '(Adjusted):',  "%.2f" % tp_p2, '%')

    print()
    print()
    print('------ Simulation Based on Normally Distributed Death Years ------')

    year1_table = np.random.normal(deathyear_table,11,50000)
    year2_table = np.random.normal(tp_deathyear_table,11,50000)

    count = 0
    i = 0
    while i < len(year1_table):
        if year2_table[i] < year1_table[i]:
            count = count+1
        i += 1

    prob = 100*count/i

    print()
    print('Probability of Person 2 Dying Before Person 1 (Table):',  "%.2f" % prob, '%')

    year1 = np.random.normal(deathyear,11,50000)
    year2 = np.random.normal(tp_deathyear,11,50000)

    count = 0
    i = 0
    while i < len(year1):
        if year2[i] < year1[i]:
            count = count+1
        i += 1

    prob = 100*count/i

    print('Probability of Person 2 Dying Before Person 1 (Adjusted):',  "%.2f" % prob, '%')

Ungleichheit in D wächst seit den 90ern

Ich habe ein kleines Programm gemacht, um den GINI-Koeffizienten wieder in die Einkommensverteilung umzurechnen, was die Interpretation und Visualisierung von wirtschaftlicher Ungleichheit in einem Land vereinfacht. Hier findet man die Entwicklung des Index für Deutschland, bei der OECD findet man Zeitreihen für andere Länder. Unter der Annahme, dass die Einkommen einer Lorentz-Verteilung folgen (im Allgemeinen gut erfüllt), erhält man aus dem aktuellen GINI-Koeffizienten folgende Verteilung für Deutschland:

Auf die ärmsten 10 % der Bevölkerung entfällt 1,8 % des Gesamteinkommens, auf die reichsten 10 % entfällt der Anteil 14,8 %. Diese Werte jeweils nach Steuern, vor Steuern ist die Ungleichheit noch deutlicher ausgeprägt. Im internationalen Vergleich sind diese Werte relativ gut, aber es war schon ein gutes Stück besser in Deutschland. Die Ungleichheit ist seit den 90ern praktisch nur gestiegen. In den 90ern gingen noch 2,5 % des Gesamteinkommens an die ärmsten 10 %.

Und nur 13,6 % des Gesamteinkommens an die reichsten 10 %:

Noch klarer sieht man die Entwicklung am Verhältnis. Die reichsten 10 % haben in den 90ern 5,5-Mal soviel Einkommen bezogen wie die ärmsten 10 %. Das ist auf den Faktor 8,5 gestiegen.

Die zunehmende Ungleichheit hat sich auch in der relativen Armut niedergeschlagen, ein Zuwachs von 16,5 % (einer von sechs Deutschen) auf 19,4 % (einer von fünf):

Absolute Armut (Einkommen unter der International Poverty Line von $ 1,9 pro Tag) bleibt zum Glück extrem selten hier, bei knapp 1 von 1000 oder grob 80.000 Deutsche.

Mit dem Trend ist Deutschland nicht alleine. Der weltweite Between-Country GINI ist zwar kontinuierlich am sinken (weniger Ungleichheit zwischen Ländern), der mittlere Within-Country GINI-Koeffizient ist in dem selben Zeitraum jedoch angestiegen (mehr Ungleichheit innerhalb Ländern):

Ziemlich bitter sieht es, neben den selbstverständlichen Kandidaten wie afrikanischen Ländern, China, Indien, Russland, auch in den USA aus. Das Verhältnis der Einkommen der reichsten 10 % zu den ärmsten 10 % ist seit den 90ern von dem Faktor 17,5 auf 30,0 gestiegen. Eine Folge davon, dass konservativen und unternehmensfreundlichen Politikern freie Fahrt gewährt wurde. Der Reichtum des Landes konzentriert sich mehr und mehr in den Händen weniger, welche durch den Einkommenszuwachs wiederrum noch mehr Möglichkeiten bekommen, sich weitere Konzentration politisch und juristisch zu sichern. Eine gefährliche Feedback-Schleife, vor der man sich in Europa hüten muss.

Hier das Programm zum Ausprobieren. Es nimmt als Input den GINI-Koeffizienten bzw. eine Zeitreihe davon und produziert die relevanten Information und Plots. Zur Berechnung der absoluten Armut ist auch der Input des mittleren Einkommens (nicht Median) erforderlich, ansonsten wird diese übersprungen. Python 3.9. Für USA, D und Polen sind die GINI-Zeitreihen schon als Kommentar eingefügt. Um Zeitreihen nicht abtippen zu müssen, empfehle ich die Verwendung eines OCR-Programms wie dieses hier (online und kostenlos).

#%%
import matplotlib.pyplot as plt
import math
import numpy as np

g = 0.281

# For Development Plots, leave empty if not available
gdev = [0.327,0.315,0.315,0.307,0.303,0.304,0.301,0.298,0.299,0.297,0.291,0.285,0.275,0.281]
initial_year = 2005
year_step = 1

# Relative Poverty Line as Percentage of Average Income
rel_poverty_line = 0.05

# Annual Values in Dollars / Set avg_inc = 0 if not available
avg_inc = 5700
abs_poverty_line = 1.9*365

# Specify if available, otherwise avg_inc is used for all years
incdev = []

# Distribution Adjustment
adj_bottom = 1.15
adj_top = 0.85


# US
# gdev = [0.35, 0.35, 0.35, 0.37, 0.37, 0.37, 0.37, 0.37, 0.37, 0.37, 0.37, 0.38, 0.37, 0.37, 0.38, 0.38, 0.38, 0.37, 0.38, 0.38, 0.38, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.39, 0.4, 0.39]
# initial_year = 1990
# avg_inc = 31100

# GER
# gdev = [0.2464900,0.2508000,0.2522100,0.2598200,0.2547800,0.2488200,0.2497100,0.2496300,0.2484100,0.2546500,0.2587200,0.2683800,0.2682800,0.2727000,0.2883500,0.2863100,0.2851800,0.2842900,0.2797000,0.2814800,0.2853500,0.2854300,0.2919500,0.2897300]
# initial_year = 1991
# avg_inc = 34300

# PL
# gdev = [0.327,0.315,0.315,0.307,0.303,0.304,0.301,0.298,0.299,0.297,0.291,0.285,0.275,0.281]
# initial_year = 2005
# avg_inc = 5700


n = 2/(1-g)-1

print('Gini-Coefficient:', g)
print()
print('Lorentz-Coefficient:', round(n,2))
print()

plt.xlabel('Share of Population')
plt.ylabel('Share of Income')
x = np.linspace(0, 1)
y = x**n
plt.plot(x, y)
x = np.linspace(0, 1)
y = x
plt.plot(x, y)
plt.show()


sBottom10 = adj_bottom*100*0.1**n
sTop10 = adj_top*100*(1-0.9**n)

print()
print()
print('The Bottom 10 Percent of the Populations receives an Income Share:', round(sBottom10,2), '%')
print('The Top 10 Percent of the Populations receives an Income Share:', round(sTop10,2), '%')

r = sTop10/sBottom10

print()
print('Ratio Top 10 / Bottom 10:', round(r,2))
print()


sBottom20 = adj_bottom*100*0.2**n
sTop20 = adj_top*100*(1-0.8**n)

print()
print('The Bottom 20 Percent of the Populations receives an Income Share:', round(sBottom20,2), '%')
print('The Top 20 Percent of the Populations receives an Income Share:', round(sTop20,2), '%')

r = sTop20/sBottom20

print()
print('Ratio Top 20 / Bottom 20:', round(r,2))
print()

# Relative Poverty

xrel = 100*rel_poverty_line**(1/n)

print()
print('Share of Population in Relative Poverty:', round(xrel,2), '%')

# Absolute Poverty

if avg_inc > 0:

    xabs = (abs_poverty_line/avg_inc)**(1/n)

    print('Share of Population in Absolute Poverty:', round(xabs,2), '%')
    print()


if len(incdev) < 1:

    i = 0
    while i < len(gdev):
        incdev.append(avg_inc)
        i += 1

if len(gdev) > 0:

    print()
    print('Gini-Coefficient Development:', gdev)
    print()

    year = []
    ndev = []
    sBottom10dev = []
    sTop10dev = []
    rdev = []
    xreldev = []
    xabsdev = []

    i = 0
    while i < len(gdev):

        year.append(initial_year+i*year_step)

        n = 2/(1-gdev[i])-1
        ndev.append(n)

        sBottom10 = adj_bottom*100*0.1**n
        sBottom10dev.append(sBottom10)
        
        sTop10 = adj_top*100*(1-0.9**n)
        sTop10dev.append(sTop10)

        rdev.append(sTop10/sBottom10)

        xreldev.append(100*rel_poverty_line**(1/n))

        if avg_inc > 0:
            xabsdev.append((abs_poverty_line/incdev[i])**(1/n))

        i += 1

    low_factor = 0.95
    high_factor = 1.05

    plt.plot(year, ndev)
    plt.ylim(low_factor*min(ndev), high_factor*max(ndev))
    plt.ylabel('Lorentz Coefficient')
    plt.show()

    plt.plot(year, sBottom10dev)
    plt.ylim(low_factor*min(sBottom10dev), high_factor*max(sBottom10dev))
    plt.ylabel('Income Share of Bottom 10 %')
    plt.show()

    plt.plot(year, sTop10dev)
    plt.ylim(low_factor*min(sTop10dev), high_factor*max(sTop10dev))
    plt.ylabel('Income Share of Top 10 %')
    plt.show()

    plt.plot(year, rdev)
    plt.ylim(low_factor*min(rdev), high_factor*max(rdev))
    plt.ylabel('Ratio Top 10 % / Bottom 10 %')
    plt.show()

    plt.plot(year, xreldev)
    plt.ylim(low_factor*min(xreldev), high_factor*max(xreldev))
    plt.ylabel('Population Share in Relative Poverty')
    plt.show()

    if avg_inc > 0:

        plt.plot(year, xabsdev)
        plt.ylim(low_factor*min(xabsdev), high_factor*max(xabsdev))
        plt.ylabel('Population Share in Absolute Poverty')
        plt.show()

Simulation der Replikationskrise in der Psychologie

In den letzten zehn Jahren gab es einige umfangreiche Versuche, psychologische Studien zu replizieren, siehe z.B. hier. Die Ergebnisse lassen die Psychologie sehr schlecht aussehen. Ob man von Wissenschaft oder Pseudo-Wissenschaft sprechen sollte sei jedem selbst überlassen, aber Fakt ist:

  • Die Replikationsexperimente hatten eine sehr hohe Güte (Statistical Power > 90 %)
  • Nur einer von drei psychologischen Effekte konnte repliziert werden
  • Die replizierten Effektstärken waren nur halb so groß wie die Effektstärken der Originalstudien

Typische Gründe die für das Versagen angeführt werden:

  • Signifikanzniveau zu hoch (nicht korrekt)
  • Statistical Power zu klein (größtenteils nicht korrekt)
  • Publikationsbias (halb-halb)
  • Bias in individuellen Studien (korrekt)

Ohne jetzt zu sehr ins Technische gehen zu wollen: Die ersten beiden Punkte kann man als mögliche Gründe für die Replikationskrise recht leicht ausschließen. Auch bei dem gegebenen Signifikanzniveau (0,05) und typischer Statistical Power psychologischer Studien (um die 0,50) liegt die zu erwartete Replikationsrate > 80 %. Es ist immer schön durch höhere Probantenzahlen die Statistical Power einer Studie zu erhöhen, aber der Zuwachs an Replizierbarkeit ist minimal. Der Kern der Sache ist ohne Zweifel (ungewollter oder vorsätzlicher) Bias.

Es gibt Millionen Quellen für Bias (Verzerrungen) beim Durchführen von Experimenten:

  • Design schließt Störfaktoren nicht ordentlich aus
  • Probanten durchschauen das experimentelle Setup
  • Interaktionen zwischen Probanten und Versuchsleiter
  • Zufällige Stichprobe hat unglückliche Eigenheiten
  • Fehler bei der statistischen Auswertung (z.B. Fischen nach Effekten)
  • Betrug bei der statistischen Auswertung (z.B. P-Hacking)
  • Und und und …

Jede davon kann dazu führen, dass die ermittelte Effektstärke weit von der wahren Effektstärke entfernt liegt und das unabhängig von normalen statistischen Schwankungen, welche auch bei exzellentem Design & Auswertung zu erwarten sind. Bias als Zahl kann man also definieren als die Differenz von ermittelter und wahrer Effektstärke, wenn man das gegebene Experiment mit seinen Eigenheiten in Design & Auswertung in exakter Weise unendlich Mal wiederholt.

In diesem Output einer numerischen Simulation sieht man, wie die Replikationsrate sich in Abhängigkeit von Probantenzahl der Original-Studie und Bias der Original-Studie ändert. Für die wahre Effektstärke habe ich d = 0,5 gewählt, für den Umfang der Replikationsstudie n = 200 Probanten.

Der Output zeigt eine Sache, die ich schon vorher erwähnt habe: Ab einer halbwegs vernünftigen Probantenzahl (n > 80), und somit einer sub-optimalen aber akzeptablen Statistical Power, ergeben sich ohne Bias stets hohe Replikationsraten. Replikationsraten, wie sie in den letzten zehn Jahren für die Psychologie ermittelt wurden, würde man erst bei n < 20 oder gar n < 10 erwarten.

Bei einem Bias von um die 0,5 Standardabweichungen kommt man zu Replikationsraten im Bereich 30-40 %, also dorthin, wo sich die moderne Psychologie befindet. Und man sieht: Solange der Bias besteht, würde auch eine Erhöhung der Probantenzahl keine Verbesserung bringen. Interessanterweise führen höhere Probantenzahlen dann sogar zu geringeren (!) Replikationsraten, was im Nachhinein aber Sinn macht. Je umfangreicher die verzerrte Originalstudie, desto eher macht sie eine Punktlandung bei der verzerrten Effektstärke. Und desto schwieriger wird es für unverzerrte Replikationsstudien, diesen Effekt zu replizieren.

Vor allem interessant ist, wie Perfekt sich das Bild fügt, wenn man bei einer wahren Effektstärke d = 0,5 einen Bias von b = 0,5 annimmt. Der wahre Effekt ist dann d = 0,5, der gefundene Effekt d = 1,0. Replikationen würden den Effekt also nur mit einer halb so großen Effektstärke replizieren und Replikationsraten lägen gleichzeitig bei knapp 1 zu 3. Also exakt die Kombination, die das Reproducibility Project für die Psychologie ermittelt hat. Ein Bias in Größe der wahren Effektstärke erklärt die Replikationskrise ohne Bedarf zusätzlicher Annahmen mit beeindruckender Genauigkeit. Wenn man eine Sache über die Replikationskrise wissen sollte, dann das.

Ein paar technische Anmerkungen:

  • Dieses Prinzip habe ich für die numerische Simulationen genutzt: Effektstärken von kontrollierten Experimenten (Behandlungs- versus Kontrollgruppe) mit n Probanten, die Hälfte in jeder Gruppe, verteilen sich gemäß der Normalverteilung mit dem Mittelwert d + b, wahren Effektstärke plus Bias, und einer Standardabweichung 2 geteilt durch Wurzel n. Das folgt direkt aus der Normalverteilung der Effektstärken in den einzelnen Gruppen mit Mittelwert d + b für die Behandlungsgruppe und 0 für die Kontrollgruppe mit jeweils beliebigen Standardabweichungen. Es spielt also keine Rolle, ob man jede Gruppe einzeln simuliert und dann die Effektstärke berechnet oder gleich die Effektstärke der erstgenannten Normalverteilung entnimmt. Dieses Prinzip vereinfacht die Simulation enorm. Beweisen lässt es sich mit diesem Theorem.
  • Für die Replikation natürlich dasselbe Prinzip, diesmal jedoch über eine Normalverteilung mit Mittelwert d (kein Bias) und Standardabweichung 2 durch Wurzel n für Replikationsstudie.
  • Eine Replikation wurde als erfolgreich gewertet sofern die absolute Differenz der Effektstärken kleiner als 0.3 Standardabweichungen war. Warum nicht das 95 % KI einer der beiden Studien verwenden? So hatte ich es zuerst, aber das ergibt eine unangenehme Situation. Wachsende n lassen das 95 % KI enorm schrumpfen, so dass erfolgreiche Replikationen unmöglich werden. Bei sehr hohen n findet die eine Studie dann 0,50, die andere 0,55, es wird aber trotzdem nicht als erfolgreiche Replikation gewertet da das 95 % KI so klein ist. Jeder mitdenkende Betrachter würde das hingegen als erfolgreiche Replikation werten. Deshalb der Umstieg auf absolute Differenz.

Der Code zum selber experimentieren (Python 3.9):

import math
import numpy as np
from numpy import random
import matplotlib.pyplot as plt

e_replication = 0
n_replication = 200

d = 0.5
d_confirm = 0.3

cycles_2D = 500

X = []
Y = []
Z = []

e = 0

while e < 0.5:

    n = 10

    while n < 180:

        i = 0
        s = 0

        while i < cycles_2D:

            se_original = 2/math.sqrt(n)
            se_replication = 2/math.sqrt(n_replication)

            d_original = random.normal(d+e,se_original)
            d_replication = random.normal(d+e_replication,se_replication)

            diff = d_original-d_replication

            if abs(diff) < d_confirm:
                s += 1
            
            i += 1

        s_rate = 100*s/cycles_2D

        X.append(n)
        Y.append(e)
        Z.append(s_rate)

        n = n + 2

    e = e + 0.01

print()
print()
print(u'\u2022'' Original Study Sample Size and Bias:')
print()

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm

fig = plt.figure()
ax = Axes3D(fig)
surf = ax.plot_trisurf(X, Y, Z, cmap=cm.jet, linewidth=0.1)
fig.colorbar(surf, shrink=0.5, aspect=5)
ax.set_xlim(180,0)
ax.set_ylim(0.5,0)
plt.xlabel("Original Study Sample Size")
plt.ylabel("Original Study Bias")
plt.show()

Die antidepressive Wirkung von Ketamin

Ketamin erlebt gerade ein großes Comeback, diesmal nicht auf Parties, sondern vor allem in Laboren und Kliniken. Die nächste Generation antidepressiver Medikamente wird es zwar nicht werden, dafür ist das Sicherheitsprofil nicht gut genug, aber es etabliert sich als eine “Last Line of Defence”. Also angewandt bei Leuten, bei denen a) traditionelle Behandlungsmethoden für Depression versagt haben (CBT, SSRI) und b) es keine Geschichte von Suchtverhalten gibt. Letzteres da Ketamin in klinischer Umgebung zusammen mit Benzos verabreicht wird, um die Gefahr schwerer Angstzustände aufgrund der dissoziativen Wirkung von Ketamin zu dämpfen, und Benzos bekannt dafür sind, sehr schnell zu einer starken Abhängigkeit zu führen.

Die Datenlage für Ketamin ist noch recht überschaubar, aber sehr vielversprechend. Ich beziehe mich hier auf die Meta-Analyse “A systematic review and meta-analysis of the efficacy of intravenous ketamine infusion for treatment resistant depression: January 2009 – January 2019” von Walter S. Marcantoni. Ich habe die Daten dieser Meta-Analyse mal durch mein Programm Autobias gejagt, um zu sehen, wie es in diesem Fall um den Publikationsbias steht und ob sich auch nach Korrektur noch eine gute Effektstärke zeigt. Wie man am ersten Output sehen kann, umfassen die kontrollierten Experimente (Behandlungs- versus Placebogruppe) zu Ketamin bisher knapp 350 Probanten, im Mittel 50 Probanten pro Experiment. Die Heterogenität (Uneinigkeit) der Experimente bzgl. Effektstärke ist relativ gering.

Insgesamt ergibt sich eine antidepressive Wirkung der Stärke (Cohen’s) d = 0.75 oberhalb des Placebo-Effekts, mit einem 95 % Konfidenzintervall von d = 0.51 bis d = 1.00. Die Nullhypothese kann mit sehr hoher Sicherheit abgelehnt werden (p < 0.001).

Bleibt das auch bestehen, wenn man die kleinsten Experimente verwirft? Tendenziell gilt die Regel: Je umfangreicher das Experiment, desto näher liegt die gefundene Effektstärke an der wahren Effektstärke. Es lohnt sich also, die Meta-Analyse unter Beschränkung auf die größten Experimente zu wiederholen. Hier bei Beschränkung auf die fünf größten Experimente:

Es ergibt sich eine Reduktion auf d = 0.61 oberhalb des Placebo-Effekts, mit einem verschobenen 95 % KI von d = 0.37 bis d = 0.85. Die größten Experimente implizieren eine etwas kleinere Effektstärke, jedoch ist die Reduktion a) nicht als signifikant zu werten und b) gefährdet nicht die Ablehnung der Nullhypothese. Den schwachen Publikationsbias sieht man auch an der Asymmetrie des Funnel-Plots, mit zwei klaren Ausreißern in Richtung stärkerer Effekt.

Für eine numerische Auswertung der Asymmetrien sind jedoch zu wenige Datenpunkte vorhanden. Am zeitlichen Plot kann man schön das steigende Interesse an Ketamin erkennen. Mit Ausnahme des Ausreißers von 2006 scheint das Publikationsjahr keinen nennenswerten Einfluss auf die Effektstärke zu haben.

Insgesamt hält der Effekt einer strengen Prüfung auf Publikationsbias sehr gut stand. Laut der Meta-Studie gibt es auch keine besonderen Auffälligkeiten beim Bias einzelner Studien (z.B. bezüglich Selektion oder Blinding). Man darf also guten Gewissens davon ausgehen, dass die festgestellte antidepressive Wirkung einem realen Effekt entspricht. In der Stärke sogar gut vergleichbar mit SSRI.

Hier ging es strikt um Experimente, bei denen Ketamin intravenös verabreicht wurde. Andere Experimente zeigen aber, dass die antidepressive Wirkung auch bei der Verabreichung über ein Nasenspray funktioniert. In den USA ist eine solches Nasenspray schon verfügbar, hergestellt von Johnson & Johnson, jedoch mit einem deftigen Preisschild von um die $ 400 pro Dosis versehen. Nicht nur die Nebenwirkungen, sondern auch der Preis zeigt, dass es bei Ketamin eher um klinische Interventionen in Extremfällen geht.

Letzteres ist aber sehr nützlich, da SSRI a) vier bis sechs Wochen brauchen um die volle Wirkung zu entfalten und b) in den ersten zwei Wochen suizidale Ideation sogar verstärken. Denkbar ungeeignet für Interventionen, bei denen schnell eine Wirkung erzielt werden soll. Ketamin könnte also tatsächlich eine wichtige Lücke füllen.

Von einer Selbstbehandlung mit Ketamin mit Bezug des Ketamins über einen Dealer ist definitiv abzuraten. Ohne medizinische Überwachung und gleichzeitiger Verabreichung sedierender Mittel, die gut in Kombination mit Ketamin funktionieren, ist die Gefahr von starken Angstreaktionen / Panikattacken inakzeptabel hoch. Mal abgesehen davon, dass es Methoden der Selbstbehandlung gibt, die in Meta-Analysen ähnlich vielversprechende Effektstärken zeigen, ohne die Gefahr solcher Reaktionen zu bergen: Fitness, Mindfulness, Lichttherapie.

Vorstellung meiner App: Autobias

Über die letzten Wochen habe ich an einer App zur automatischen Ermittlung, Visualisierung und Korrektur von Publikationsbias in Meta-Analysen gearbeitet und denke, dass ich es bei der jetzigen (zufriedenstellenden) Version belassen werde. Das Programm beginnt mit dem Input der Daten der kontrollierten Experimente (RCTs). Diese können direkt aus der Meta-Studie entnommen werden. Da Meta-Studien die RCT-Daten oft unterschiedlich präsentieren, habe ich vier Modi zum Input bereitgestellt. Wenn die Meta-Studie die Effektstärken und Grenzen der jeweiligen 95 % Konfidenzintervalle berichtet, bieten sich die ersten beiden Input-Modi an:

  • Input-Modus 1: Input als drei separate Listen. Liste der Effektstärken d = [0.30, 0.42, 0.08], Liste der unteren Grenzen dlow = [-0.20, 0.04, -0.48], Liste der oberen Grenzen dhigh = [0.50, 0.80, 0.54].
  • Input-Modus 2: Input als eine Liste der Abfolge d, dlow, dhigh. Zum Beispiel: l = [0.30, -0.20, 0.50, 0.42, 0.04, 0.80, 0.08, -0.48, 0.54].

Sind statt der Grenzen die Standardfehler oder Varianzen gegeben, was ziemlich oft der Fall ist, kann man die anderen beiden anderen Input-Modi nutzen. Die Grenzen des 95 % KI werden dann automatisch vor der Analyse berechnet.

  • Input-Modus 3: Input als eine Liste der Abfolge d, SE. Zum Beispiel: lse = [0.30, 0.18, 0.42, 0.25, 0.08, 0.24]
  • Input-Modus 3: Input als eine Liste der Abfolge d, Var. Zum Beispiel: lv = [0.30, 0.03, 0.42, 0.05, 0.08, 0.04]

Eine bestimmte Reihenfolge muss dabei nicht eingehalten werden. Notwendige Sortierungen werden automatisch gemacht. Da ein Teil der Ermittlung und Korrektur des Publikationsbias darauf basiert, eine Neuberechnung der Meta-Analyse mit Beschränkung auf die Top k RCTs vorzunehmen, muss dieser Wert k als Input gegeben werden. Top k RCTs meint hier die Anzahl k RCTs mit dem geringsten Standardfehler (höchste Probantenzahlen).

Mit der Variable fixed_mode = 1 lässt sich eine Meta-Analyse nach dem Fixed-Effects-Model erzwingen. Standardmäßig ist fixed_mode = 0 und es erfolgt eine Analyse nach dem Random-Effects-Model. Ein letzter möglicher Input ist die Aktivierung des Comparison Mode, darauf gehe ich aber später ein.

Zuerst rechnet das Programm die gesamte Meta-Analyse nach, beginnend mit der Berechnung von Cochrane’s Q, der Heterogenität I² und der Zwischen-Studien-Varianz Tau² sowie einem Histogramm der Effektstärken.

Danach werden Charakteristiken der einzelnen RCTs berechnet und angezeigt. Dazu gehören die Gewichte, mit denen die jeweiligen RCTs in die Meta-Analyse einfließen, sowie die jeweiligen Probantenzahlen, mittlere Probantenzahl pro RCT und gesamte Probantenzahl der RCTs. Das gefolgt von einem Histogramm der Probantenzahlen.

Zum Schluss die Meta-Analyse (nach Borenstein) und die Resultate: Varianz des Effekts, Standardfehler des Effekts, Effektstärke inklusive 95 % Konfidenzintervall, p-Wert der Differenz zum Nulleffekt und H0C als Maß für die Sicherheit der Ablehnung der Nullhypothese.

Dann beginnt der eigentliche Job: Publikationsbias ermitteln und wenn nötig korrigieren. Teil I basiert auf dem Prinzip der Konvergenz zum wahren Effekt. Man nimmt an, dass je größer die Studie, desto näher liegt der gefundene Effekt am wahren Effekt. Die Meta-Analyse wird also nochmals berechnet mit Beschränkung auf die k RCTs mit dem geringsten Standardfehler. Das Programm sortiert die Inputs, kürzt sie und berechnet die Gewichte neu. Tau² und der Standardfehler des Effekts wird explizit nicht neu berechnet. Das hat sehr gute Gründe (siehe Anmerkungen).

Das Programm zeigt dann das Resultat im gleichen Format an und wertet die Differenz zur kompletten Meta-Analyse. Es wird angenommen, dass jegliche Verschiebung der Effektstärke infolge des Publikationsbias geschieht. Es wird gewertet, ob der Einfluss des Publikationsbias auf die Effektstärke signifikant ist (und bei welchem p-Niveau) und ob die Effekt-Verschiebung die Sicherheit bei der Ablehnung der Nullhypothese maßgeblich berührt. Danch wird noch ein Plot der Unterschiede generiert. Für die Analyse des Funnel Plots in Teil II des Programms wird angenommen, dass die hier gefundene Effektstärke die wahre Effektstärke ist.

In Teil II wird versucht, Asymmetrien des Funnel Plots zu quantifizieren und somit eine ergänzende Einschätzung zum Publikationsbias zu liefern. Alle Effekstärken werden zuerst auf die in Teil I gefundene Effektstärke zentriert. Dann wird der Plot der Effekte oberhalb 0 gemacht, die Regressionsgerade berechnet, der Plot der Effekte unterhalb 0 generiert, wieder die Regressionsgerade berechnet und schlussendlich der gesamte Funnel Plot inklusive der Geraden gezeigt.

Jetzt werden die Asymmetrien berechnet:

  • Asymmetrie der Steigung der Geraden
  • Asymmetrie der Anzahl RCTs
  • Asymmetrie der Anzahl Ausreißer
  • Asymmetrie der Summe der Distanzen zur Mittellinie
  • Asymmetrie der maximalen Abweichungen zur Mittellinie

Zu jeder Asymmetrie wird eine Korrektur vorgenommen, die wildes Verhalten für Meta-Studien mit einer kleinen Anzahl RCTs verhindern soll (und somit eventuellen Trugschlüssen vorbeugt), die durch die Asymmetrie implizierte Wahrscheinlichkeit zur Publikation unerwünschter RCT-Ausgänge geschätzt und die Signifikanz gewertet.

Krönender Abschluss ist dann die Zusammenfassung dieser Asymmetrie-Merkmale zu einer Schätzung für die Wahrscheinlichkeit der Publikation unerwünschter RCT-Ausgänge (ohne Publikationsbias 100 %) und einer abschließenden Wertung der Signifikanz der Asymmetrien.

Man sieht, dass die gesamte Analyse auf zwei wohletablierten Prinzipien fußt:

  • Konvergenz der größten Studien zum wahren Effekt
  • Asymmetrien des Funnel-Plots

Teil I widmet sich dem ersten Punkt, Teil II dem zweiten. Weicht das Mittel der größten RCTs vom Mittel der kleinsten RCTs (bzw. dem Mittel aller RCTs) ab, dann ist das ein deutlicher Hinweis darauf, dass Publikationsbias vorliegt. Die Verschiebung der Effektstärke gibt Auskunft über das Maß des Publikationsbias. Der Blick auf den Funnel Plot wird dies bei signifikanter Verschiebung bestätigen. Die Asymmetrie auf viele verschiedene Arten zu quantifizieren schützt vor Trugschlüssen infolge bestimmter Eigenheiten oder Ausreißern. Man sieht am obigen Beispiel, dass eine reine Zählung der RCTs den Publikationsbias in diesem Fall nicht offenbart hätte, andere Indikatoren schlagen hingegen deutlich an.

Weitere Hinweise:

  • Berechnung erfolgt wo möglich immer nach Borenstein
  • Berechnung von Tau² erfolgt nach der DL-2 Methode von DeSimonian & Laird
  • Was ist H0C? Nichts anderes als der zum Unsicherheitsintervall gehörige Z-Wert, jedoch a) als Absolutwert und b) so skaliert, dass H0C >= 1 eine sichere Ablehnung der Nullhypothese bedeutet
  • Es gilt: H0C = abs(0.85*Effektstärke/(1.96*Standardfehler))
  • Was machen die Asymmetrie-Korrekturen beim Funnel-Plot? Eine sehr kleine Anzahl an RCTs kann zu enormen prozentualen Differenzen führen, welche nicht notwendigerweise enormen Publikationsbias reflektieren. Je kleiner die Anzahl RCTs, desto stärker dämpft das Programm die prozentualen Unterschiede, bevor sie in weitere Berechnungen einfließen
  • Ist die Wahrscheinlichkeit zur Publikation unerwünschter Resultate genau? Jein. Die Asymmetrie des Funnel Plots impliziert, dass auf der schwächeren Hälfte etwas fehlt. Es lässt sich grob ermitteln (Trim-And-Fill), wieviel man hinzufügen müsste, um den Plot bezüglich dem gegebenen Indikator symmetrisch zu machen. Daraus wiederrum lässt sich diese Wahrscheinlichkeit schätzen. Es bleibt aber ein Schätzwert. Durch die Mittellung über mehrere Asymmetrie-Indikatoren ist er immerhin genauer als die Schätzung basierend auf einem Indikator
  • Wieso wird bei der Beschränkung auf die Top k RCTs der Wert für Tau² und das 95 % KI nicht neuberechnet? Die Erklärung dazu ist leider etwas sperrig. Es gibt bestimmte Aspekte der Meta-Analyse, die ein typisches Verhalten mit der Änderung der Anzahl RCTs zeigen. Die Beschränkung auf wenige RCTs wird in fast allen Fällen die Zwischen-Studien-Varianz massiv reduzieren, so dass I² und Tau² Null wird. Somit ergibt sich eine Fixed-Effects Analyse mit unrealistisch engem Unsicherheitsintervall. Großes Problem! Es macht mehr Sinn, und ist auch viel konservativer, stattdessen die Unsicherheit der gesamten Meta-Analyse zu übernehmen und nur die Effektstärke anzupassen

Update 24. März 2021:

Ich habe vier zusätzliche Input-Modi hinzugefügt, welche erlauben, die Effektstärken auch mittels dem Odds-Ratio OR oder dem Korrelationskoeffizienten r einzugeben. Das ist vor allem für medizinische Meta-Studien nützlich, da dort gerne mit dem OR gearbeitet wird. Der Output der Ergebnisse erfolgt neben der Effektstärke als Cohen’s d jetzt stets auch in Form des OR und r.

Ich habe auch eine Sensitivity-Analyse hinzugefügt, ein Standard bei Meta-Analysen. Die Meta-Analyse wird wiederholt nachgerechnet, jeweils unter Entfernung eines einzigen Experiments. Dies erlaubt zu sehen, wie stark ein bestimmtes Experiment das Gesamtergebnis beeinflusst. Die Sensitivity-Analyse erfolgt einmal für die gesamte Meta-Analyse (alle RCTs) und einmal für die auf die Top k RCTs beschränkte Analyse, letztere auch wieder mit einem verschobenem statt neuberechnetem 95 % KI.

Update 25. März 2021:

Optional kann man jetzt über die Variable year das Erscheinungsjahr der jeweiligen RCTs eingeben. Es folgt dann eine Visualisierung der Veröffentlichungen mit der Zeit und Test auf Abhängigkeit der gefundenen Effektstärken von Erscheinungsjahr. Letzterer Test ist häufig in Meta-Analysen zu finden. Für eine leere Liste year = [ ] wird dieser Abschnitt übersprungen.

Optional kann man jetzt über die Variable ind_bias den RCTs Gewichte für individuellen Bias zuordnen. Bei einem Eintrag 1 in der Liste ind_bias erfolgen keine Änderungen, bei einem Eintrag > 1 wird der Standardfehler der RCT um eben jenen Faktor erhöht. Dadurch erhält dieses RCT ein geringeres Gewicht in der Meta-Analyse. Will man z.B. bei insgesamt 5 RCTs die letzten beiden eingetragenen RCTs wegen hohem Bias-Risiko schwächer gewichten, so könnte man z.B. ind_bias = [1,1,1,1.33,1.33] setzen. Für eine leere Liste ind_bias = [ ] wird keine Anpassung vorgenommen.

Neben dem Funnel-Plot wird jetzt auch der theoretische Funnel-Plot angezeigt. Er zeigt die Regressionslinien, die man bei Abwesenheit von Publikationsbias für normalverteilte Effektstärken erhält, wenn die Anzahl RCTs gegen unendlich geht.

Einführung einer Reihe von Checks, um gängige Inputfehler zu erkennen und wenn möglich zu übergehen. Ansonsten eine saubere Beendigung des Programms.

Bekannte Fehler:

Die Interpolation beim Funnel-Plot bzw. Jahresplot erzeugt manchmal die Fehlermeldung “RuntimeWarning: invalid value encountered in power kernel_value”. Bisher bin ich noch nicht dahinter gekommen, aber die Interpolation funktioniert trotzdem und das Programm läuft ohne Probleme weiter.

Der Code:

Der aktuelle Code (25. März), geschrieben in Python 3.9. Zum Ausführen benötigt man a) einen Python-kompatiblen Compiler, b) die Installation von Python und c) die Installation aller verwendeten Module (Matplotlib, Scipy, etc …)

#%%
import matplotlib.pyplot as plt
import math
import scipy.stats
import numpy as np
import pandas as pd
import statsmodels.api as sm
from prettytable import PrettyTable
import sys

# Number to restrict

k_test = 3

# specify year and individual bias, if available, otherwise leave empty
# ind_bias = 1 -> no individual bias, ind_bias > 1 -> higher individual bias

ind_bias = [1,1,1,1,1.33,1.33,1.33]

year = [2018,2018,2013,2011,2013,2018,2006]

# input modes

# 1 = pre-formatted / 2 = d, dlow, dhigh, ... / 3 = d, se, ... / 4 = d, var, ...
# 5 = pre-formatted OR / 6 = OR, ORlow, ORhigh, ...
# 7 = pre-formatted r / 8 = r, rlow, rhigh, ... 

mode = 1

if mode > 0.5 and mode < 1.5:
		
	d = [0.43,0.60,0.61,0.66,0.80,1.19,1.43]
	dlow = [-0.01,0.03,0.10,0.00,0.31,0.53,0.71]
	dhigh = [0.86,1.17,1.12,1.31,1.30,1.84,2.15]

if mode > 1.5 and mode < 2.5:

	l = [-0.82,-1.55,-0.09,-0.94,-1.59,-0.29,-0.65,-1.24,-0.06,-0.93,-1.45,-0.41,-0.85,-1.29,-0.41,-0.90,-1.45,-0.35,-1.13,-1.72,-0.54,-1.07,-1.51,-0.63,-0.93,-1.48,-0.38,-0.61,-1.23,0.01]

	d = []
	dlow = []
	dhigh = []

	i = 0
	while i < len(l):
		d.append(l[i])
		i += 1
		dlow.append(l[i])
		i += 1
		dhigh.append(l[i])
		i += 1

if mode > 2.5 and mode < 3.5:
	
	lse = [-1.39,0.34,-0.35,0.37,-1.06,0.51,-1.76,0.44,-0.86,0.28,-0.59,0.29]
	d = []
	dlow = []
	dhigh = []
	i = 0
	while i < len(lse):
		d.append(lse[i])
		davg = lse[i]
		i += 1
		low = davg-1.96*lse[i]
		dlow.append(low)
		high = davg+1.96*lse[i]
		dhigh.append(high)
		i += 1

	dlow_new = [round(x, 3) for x in dlow]
	dhigh_new = [round(x, 3) for x in dhigh]

if mode > 3.5 and mode < 4.5:

	lv = [0.1, 0.06, 0.8, 0.01, -0.2, 0.04]

	lse = []
	i = 0
	while i < len(lv):
		lse.append(lv[i])
		i += 1
		se = math.sqrt(lv[i])
		lse.append(se)
		i += 1

	d =[]
	dlow =[]
	dhigh = []
	i = 0
	while i < len(lse):
		d.append(lse[i])
		davg = lse[i]
		i += 1
		low = davg-1.96*lse[i]
		dlow.append(low)
		high = davg+1.96*lse[i]
		dhigh.append(high)
		i += 1

	lse_new = [round(x, 3) for x in lse]
	dlow_new = [round(x, 3) for x in dlow]
	dhigh_new = [round(x, 3) for x in dhigh]

if mode > 4.5 and mode < 5.5:
	
	OR = [1.22, 1.65, 1.82]
	ORlow = [0.93, 1.02, 1.33]
	ORhigh = [1.92, 2.11, 2.67]

	d = []
	i = 0
	while i < len(OR):
		d_temp = math.log(OR[i])*0.5513
		d.append(d_temp)
		i += 1

	dlow = []
	i = 0
	while i < len(OR):
		dlow_temp = math.log(ORlow[i])*0.5513
		dlow.append(dlow_temp)
		i += 1

	dhigh = []
	i = 0
	while i < len(OR):
		dhigh_temp = math.log(ORhigh[i])*0.5513
		dhigh.append(dhigh_temp)
		i += 1

if mode > 5.5 and mode < 6.5:

	ORl = [1.20,0.40,3.30,0.99,0.80,1.22,0.93,0.78,1.19,1.08,0.63,1.85,0.44,0.16,1.24,2.61,1.10,6.17,1.00,0.76,1.32,0.32,0.16,0.62,1.06,0.51,2.20,0.89,0.23,3.47,1.05,0.77,1.33,0.47,0.28,0.79,1.12,0.98,1.30,0.93,0.79,1.11]

	d = []
	dlow = []
	dhigh = []

	i = 0
	while i < len(ORl):
		temp = math.log(ORl[i])*0.5513
		d.append(temp)
		i += 1
		temp = math.log(ORl[i])*0.5513
		dlow.append(temp)
		i += 1
		temp = math.log(ORl[i])*0.5513
		dhigh.append(temp)
		i += 1

if mode > 6.5 and mode < 7.5:
	
	r = [0.55,0.35,0.38]
	rlow = [0.22,0.16,0.12]
	rhigh = [0.72,0.58,0.67]

	d = []
	i = 0
	while i < len(r):
		d_temp = 2*r[i]/math.sqrt(1-r[i]**2)
		d.append(d_temp)
		i += 1

	dlow = []
	i = 0
	while i < len(r):
		dlow_temp = 2*rlow[i]/math.sqrt(1-rlow[i]**2)
		dlow.append(dlow_temp)
		i += 1

	dhigh = []
	i = 0
	while i < len(r):
		dhigh_temp = 2*rhigh[i]/math.sqrt(1-rhigh[i]**2)
		dhigh.append(dhigh_temp)
		i += 1

if mode > 7.5 and mode < 8.5:

	rl = [0.55,0.22,0.72,0.35,0.16,0.58,0.38,0.12,0.67]

	d = []
	dlow = []
	dhigh = []

	i = 0
	while i < len(rl):
		temp = 2*rl[i]/math.sqrt(1-rl[i]**2)
		d.append(temp)
		i += 1
		temp = 2*rl[i]/math.sqrt(1-rl[i]**2)
		dlow.append(temp)
		i += 1
		temp = 2*rl[i]/math.sqrt(1-rl[i]**2)
		dhigh.append(temp)
		i += 1

print('RCT Inputs:')
print()
print('Effect Sizes d:')
print(d)
print()
print('Lower Limits of 95 % CI:')
print(dlow)
print()
print('Upper Limits of 95 % CI:')
print(dhigh)
print()
print()


# Fixed-Effects Mode: 1 = activated, 0 = deactivated
fixed_mode = 0


# k_test check to prevent error
if k_test > len(d):
	k_test = len(d)
	print('+++ Number of RCTs for restricted analysis greater than number of RCTs')
	print('+++ Number of RCTs for restricted analysis set to number of RCTs')
	print()
	print()

# k_test check to prevent error
if k_test < 1:
	k_test = 3
	print('+++ Number of RCTs for restricted analysis smaller than one')
	print('+++ Number of RCTs for restricted analysis set to three')
	print()
	print()

# ind_bias check to prevent error
if len(ind_bias) > len(d) or len(ind_bias) < len(d):
	ind_bias = []
	print('+++ Specified bias list not equal in size to effect size list')
	print('+++ Specified bias list emptied')
	print()
	print()

# year check to prevent error
if len(year) > len(d) or len(year) < len(d):
	year = []
	print('+++ Year list not equal in size to effect size list')
	print('+++ Year list emptied')
	print()
	print()

# lower limit check to prevent error
if len(dlow) > len(d) or len(dlow) < len(d):
	print('+++ Lower limit list not equal in size to effect size list')
	print('+++ Terminating Program')
	print()
	print()
	sys.exit()

# upper limit check to prevent error
if len(dhigh) > len(d) or len(dhigh) < len(d):
	print('+++ Upper limit list not equal in size to effect size list')
	print('+++ Terminating Program')
	print()
	print()
	sys.exit()


# adjustment for individual bias
if len(ind_bias) > 0:
	i = 0
	while i < len(d):
		se_here = (abs(dhigh[i]-dlow[i])/3.92)
		se_adj = ind_bias[i]*se_here
		dlow[i] = d[i]-1.96*se_adj
		dhigh[i] = d[i]+1.96*se_adj
		i += 1

	formatted_dlow = [ round(elem, 2) for elem in dlow ]
	formatted_dhigh = [ round(elem, 2) for elem in dhigh ]

	print('Individual Bias Adjusted RCT Results:')
	print()
	print('Effect Sizes d:')
	print(d)
	print()
	print('Lower Limits of 95 % CI:')
	print(formatted_dlow)
	print()
	print('Upper Limits of 95 % CI:')
	print(formatted_dhigh)
	print()
	print()






print('------------------------------------')
print(u'\u2022'u'\u2022'u'\u2022'' RANDOM-EFFECTS META-ANALYSIS 'u'\u2022'u'\u2022'u'\u2022')
print('------------------------------------')
print()

def w(x, y):
	w = 1/((abs(x-y)/3.92)**2)
	return w

wsum = 0
i = 0
while i < len(d):
	wsum = wsum + w(dlow[i], dhigh[i])
	i += 1

q1sum = 0
i = 0
while i < len(d):
	q1sum = q1sum + w(dlow[i], dhigh[i])*d[i]**2
	i += 1

q2sum = 0
i = 0
while i < len(d):
	q2sum = q2sum + w(dlow[i], dhigh[i])*d[i]
	i += 1

Q = q1sum - (q2sum**2)/wsum

c1sum = 0
i = 0
while i < len(d):
	c1sum = c1sum + w(dlow[i], dhigh[i])**2
	i += 1

C = wsum - c1sum/wsum

df = len(d) - 1


tau_squared_prelim = (Q-df)/C

if tau_squared_prelim < 0:
	tau_squared = 0
else:
	tau_squared = tau_squared_prelim


if fixed_mode > 0:
	tau_squared = 0


I_squared_prelim = 100*(Q-df)/Q

if I_squared_prelim < 0:
	I_squared = 0
else:
	I_squared = I_squared_prelim


if fixed_mode > 0:
	I_squared = 0
	Q = 0
	print('(Forcing Fixed-Effects Analysis)')
	print()

# General Information


print('Cochranes Q:', "%.2f" % Q)
print('Heterogeneity I_Squared:', "%.2f" % I_squared, '%')
print('Tau_Squared:', "%.2f" % tau_squared)
print()

print('Histogram of Effect Sizes:')
print()
plt.hist(d, density=False, bins=len(d), ec='black')
plt.ylabel('Count')
plt.xlabel('Effect Size')
plt.show()
print()

v = 1/wsum
n_total = 4/v
n_avg = n_total/len(d)


# random-effects meta-analysis

def g(x, y):
	g = 1/((abs(x-y)/3.92)**2+tau_squared)
	return g

gsum = 0
i = 0
while i < len(d):
	gsum = gsum + g(dlow[i], dhigh[i])
	i += 1

v = 1/gsum
se = math.sqrt(v)


print('RCT Weights and Imputed Sample Size:')
print()

t1 = PrettyTable(['Effect Size', 'Standard Error', 'Weight Share (%)', 'Sample Size'])

nhisto = []
i = 0
while i < len(d):

	gprint = g(dlow[i], dhigh[i])
	gshare = 100*gprint/gsum

	wprint = w(dlow[i], dhigh[i])
	vprint = 1/wprint
	nprint = round(4/vprint,0)
	nhisto.append(nprint)

	dprint = d[i]
	seprint = abs(dlow[i]-dhigh[i])/3.92

	t1.add_row(["%+.2f" % dprint,"%.2f" % seprint,"%.1f" % gshare,"%.0f" % nprint])

	i += 1


print(t1)
print()
print('Average Imputed Sample Size:', "%.0f" % n_avg)
print('Total Imputed Sample Size:', "%.0f" % n_total)

print()
print('Histogram of Sample Sizes:')
print()
plt.hist(nhisto, density=False, bins=len(nhisto),ec='black')
plt.ylabel('Count')
plt.xlabel('Sample Size')
plt.show()

print()
print('Variance of Weighted Effect:', "%.3f" % v)
print('Standard Error of Weighted Effect:', "%.3f" % se)
print()

# calculation of final results

dsum = 0
i = 0
while i < len(d):
	dsum = dsum + g(dlow[i], dhigh[i])*d[i]
	i += 1

davg = dsum/gsum

dlower = davg - 1.96*se
dupper = davg + 1.96*se

z = abs(davg/se)
p = scipy.stats.norm.sf(z)
c = abs(davg/(1.96*se)*0.85)


print('Weighted Effect with 95 % CI and One-Tailed p-Value:')
print()
print('--->>> d =', "%+.3f" % davg, '[', "%+.3f" % dlower, ',', "%+.3f" % dupper, '] / p =', "%.3f" % p, '/ H0C =',"%.2f" % c)
print()

OR = math.exp(davg*1.8138)
ORlower = math.exp(dlower*1.8138)
ORupper = math.exp(dupper*1.8138)

print('--->>> OR =', "%.3f" % OR, '[', "%.3f" % ORlower, ',', "%.3f" % ORupper, '] and p =', "%.3f" % p, '/ H0C =',"%.2f" % c)
print()

r = davg/math.sqrt(davg**2+4)
rlower = dlower/math.sqrt(dlower**2+4)
rupper = dupper/math.sqrt(dupper**2+4)

print('--->>> r =', "%+.3f" % r, '[', "%+.3f" % rlower, ',', "%+.3f" % rupper, '] and p =', "%.3f" % p, '/ H0C =',"%.2f" % c)
print()


# ------ Random-Effects Meta-Analysis Restricted to Largest RCTs ------


davg_uncorrected = davg
dlower_uncorrected = dlower
dupper_uncorrected = dupper
se_uncorrected = se
print()
print()

se_critical = 0.12

print('-----------------------------------------------------------')
print(u'\u2022'u'\u2022'u'\u2022'' RANDOM-EFFECTS META-ANALYSIS RESTRICTED TO TOP RCTs 'u'\u2022'u'\u2022'u'\u2022')
print('-----------------------------------------------------------')
print()

# ordered list creation

dtemp = list(d)
dlowtemp = list(dlow)
dhightemp = list(dhigh)

sort = []
sortlow = []
sorthigh = []

u = 1
while u < (k_test+1):

	se_min = 100
	i_min = 0

	i = 0
	while i < len(dtemp):
		se_test = abs(dhightemp[i]-dlowtemp[i])/3.92
		if se_test < se_min:
			i_min = i
			se_min = se_test
		i += 1

	sort.append(dtemp[i_min])
	sortlow.append(dlowtemp[i_min])
	sorthigh.append(dhightemp[i_min])

	dtemp.pop(i_min)
	dlowtemp.pop(i_min)
	dhightemp.pop(i_min)

	u +=1

print('Top RCTs Effect Size, SE and Imputed Sample Size:')
print()

t2 = PrettyTable(['Effect Size', 'Standard Error', 'Weight Share (%)', 'Sample Size'])

gsum = 0
i = 0
while i < k_test:
	gsum = gsum + g(sortlow[i], sorthigh[i])
	i += 1

i = 0
while i < k_test:

	se_test = abs(sorthigh[i]-sortlow[i])/3.92

	gprint = g(sortlow[i], sorthigh[i])
	gshare = 100*gprint/gsum

	wprint = w(sortlow[i], sorthigh[i])
	vprint = 1/wprint
	nprint = 4/vprint

	t2.add_row(["%+.2f" % sort[i], "%.2f" % se_test, "%.1f" % gshare, "%.0f" % nprint])

	i += 1

print(t2)
print()

d_original = list(d)
dlow_original = list(dlow)
dhigh_original = list(dhigh)

d = list(sort)
dlow = list(sortlow)
dhigh = list(sorthigh)

# Bias Testing

v = 1/gsum
se = math.sqrt(v)

dsum = 0
i = 0
while i < k_test:
	dsum = dsum + g(dlow[i], dhigh[i])*d[i]
	i += 1

davg = dsum/gsum

d_test = davg

dlower = davg - 1.96*se_uncorrected
dupper = davg + 1.96*se_uncorrected

z = abs(davg/se_uncorrected)
p = scipy.stats.norm.sf(z)

c = abs(davg/(1.96*se_uncorrected)*0.85)

print('Top Analysis with Shifted 95 % CI:')
print()	
print('--->>> d =', "%+.3f" % davg, '[', "%+.3f" % dlower, ',', "%+.3f" % dupper, '] and p =', "%.3f" % p, '/ H0C =',"%.2f" % c)
print()

OR = math.exp(davg*1.8138)
ORlower = math.exp(dlower*1.8138)
ORupper = math.exp(dupper*1.8138)

print('--->>> OR =', "%.3f" % OR, '[', "%.3f" % ORlower, ',', "%.3f" % ORupper, '] and p =', "%.3f" % p, '/ H0C =',"%.2f" % c)
print()

r = davg/math.sqrt(davg**2+4)
rlower = dlower/math.sqrt(dlower**2+4)
rupper = dupper/math.sqrt(dupper**2+4)

print('--->>> r =', "%+.3f" % r, '[', "%+.3f" % rlower, ',', "%+.3f" % rupper, '] and p =', "%.3f" % p, '/ H0C =',"%.2f" % c)
print()

z_bias = abs((davg_uncorrected-davg)/se_critical)
p_bias = scipy.stats.norm.sf(z_bias)

print()
print('Difference to Calculated Effect: d =', "%.3f" % davg_uncorrected, '/ Z =', "%.3f" % z_bias, '/ p =', "%.3f" % p_bias)

davg_corrected = davg

print()
if p_bias >= 0.1:
	print('--->>> Influence of Publication Bias on Effect Size is NOT SIGNIFICANT')
if p_bias < 0.1 and p_bias >= 0.05:
	print('--->>> Influence of Publication Bias on Effect Size APPROACHES SIGNIFICANCE')
if p_bias < 0.05 and p_bias >= 0.01:
	print('--->>> Influence of Publication Bias on Effect Size is SIGNIFICANT AT p < 0.05')
if p_bias < 0.01 and p_bias >= 0.001:
	print('--->>> Influence of Publication Bias on Effect Size is SIGNIFICANT AT p < 0.01')
if p_bias < 0.001:
	print('--->>> Influence of Publication Bias on Effect Size is SIGNIFICANT AT p < 0.001')

print()
if c >= 1.1:
	print('--->>> Influence of Publication Bias on H0 Rejection is NOT CRITICAL')
if c < 1.1 and c >= 1.0:
	print('--->>> Influence of Publication Bias on H0 Rejection APPROACHES CRITICALITY')
if c < 1.0 and c >= 0.9:
	print('--->>> Influence of Publication Bias on H0 Rejection is CRITICAL')
if c < 0.9 and c >= 0.8:
	print('--->>> Influence of Publication Bias on H0 Rejection is HIGHLY CRITICAL')
if c < 0.8:
	print('--->>> Influence of Publication Bias on H0 Rejection is SEVERE')


print()
means = [davg_uncorrected, davg]

ci = [(dlower_uncorrected, dupper_uncorrected), (dlower, dupper)]

y_r = [means[i] - ci[i][1] for i in range(len(ci))]
plt.bar(range(len(means)), means, yerr=y_r, align='center', error_kw=dict(lw=2, capsize=5, capthick=2))
plt.xticks(range(len(means)), ['Original Effect','Corrected Effect'])
x = np.linspace(-0.5, len(means)-0.5)
y = 0*x
plt.plot(x, y, 'black', linewidth=0.5)
plt.show()














d = list(d_original)
dlow = list(dlow_original)
dhigh = list(dhigh_original)

print()
print()
print()
print('------------------------------------------------------------------------')
print(u'\u2022'u'\u2022'u'\u2022'' FUNNEL PLOT (D-SE) ANALYSIS CENTERED ON TOP ANALYSIS EFFECT SIZE 'u'\u2022'u'\u2022'u'\u2022')
print('------------------------------------------------------------------------')
print()

j = 0
epos = []
xpos = [] 
while j < len(d):
	if d[j]-d_test >= 0:
		epos.append(d[j]-d_test)
		xpos.append(abs(dhigh[j]-dlow[j])/3.92)
	j += 1

if len(epos) > 0:

	t3 = PrettyTable(['Standard Error', 'Centered Effect Size'])

	j = 0
	while j < len(epos):
		t3.add_row(["%+.2f" % xpos[j], "%+.2f" % epos[j]])
		j += 1

	print(t3)

	xpos_max = 0
	j = 0
	while j < len(epos):
		if xpos[j] > xpos_max:
			xpos_max = xpos[j]
		j += 1	

	productsum = 0
	xsquaresum = 0
	j = 0
	while j < len(epos):
		productsum = productsum + xpos[j]*epos[j]
		xsquaresum = xsquaresum + xpos[j]**2
		j += 1

	slope_pos = productsum/xsquaresum
	
	print()
	print('Above Effect Funnel Plot:')
	print()

	plt.scatter(xpos, epos)
	plt.title("Above Effect Funnel Plot")
	plt.xlabel("Standard Error")
	plt.ylabel("Centered Effect Size")
	plt.xlim(0, xpos_max+0.05)
	x = np.linspace(0, xpos_max+0.05)
	y = slope_pos*x
	plt.plot(x, y)
	plt.show()

	print()
	print('---> Above Test Effect Zero Intercept SLOPE: ' "%+.3f" % slope_pos)
	print()
	print()

else:

	print()
	print('UNABLE TO CALCULATE Above Test Effect Regression Line')
	print()

j = 0
eneg = []
xneg = [] 
while j < len(d):
	if d[j]-d_test <= 0:
		eneg.append(d[j]-d_test)
		xneg.append(abs(dhigh[j]-dlow[j])/3.92)
	j += 1

if len(eneg) > 0:

	t4 = PrettyTable(['Standard Error', 'Centered Effect Size'])

	j = 0
	while j < len(eneg):
		t4.add_row(["%+.2f" % xneg[j], "%+.2f" % eneg[j]])
		j += 1

	print(t4)

	productsum = 0
	xsquaresum = 0
	j = 0
	while j < len(eneg):
		productsum = productsum + xneg[j]*eneg[j]
		xsquaresum = xsquaresum + xneg[j]**2
		j += 1

	slope_neg = productsum/xsquaresum
	
	xneg_max = 0
	j = 0
	while j < len(eneg):
		if xneg[j] > xneg_max:
			xneg_max = xneg[j]
		j += 1	

	print()
	print('Below Effect Funnel Plot:')
	print()
	
	plt.scatter(xneg, eneg)
	plt.title("Above Effect Funnel Plot")
	plt.xlabel("Standard Error")
	plt.ylabel("Centered Effect Size")
	plt.xlim(0, xneg_max+0.05)
	x = np.linspace(0, xneg_max+0.05)
	y = slope_neg*x
	plt.plot(x, y)
	plt.show()

	print()
	print('---> Below Test Effect Zero Intercept SLOPE: ' "%+.3f" % slope_neg)
	print()

	print()
	print('Complete Funnel Plot:')
	print()

	x = xneg+xpos
	e = eneg+epos

	if xneg_max > xpos_max:
		xmax = xneg_max
	else:
		xmax = xpos_max

	plt.scatter(x, e)
	plt.title("Funnel Plot")
	plt.xlabel("Standard Error")
	plt.ylabel("Centered Effect Size")
	plt.xlim(0, xmax+0.05)
	x = np.linspace(0, xmax+0.05)
	y = slope_pos*x
	plt.plot(x, y)
	x = np.linspace(0, xmax+0.05)
	y = slope_neg*x
	plt.plot(x, y)
	x = np.linspace(0, xmax+0.05)
	y = 0*x
	plt.plot(x, y,'black', linewidth=0.5)
	plt.show()

	print()

	x = xneg+xpos
	e = eneg+epos	

	print()
	print('Comparison to Theoretical Funnel Plot Regression Lines:')
	print()

	plt.scatter(x, e)
	plt.title("Theoretical Funnel Plot")
	plt.xlabel("Standard Error")
	plt.ylabel("Centered Effect Size")
	plt.xlim(0, xmax+0.05)
	x = np.linspace(0, xmax+0.05)
	y = 0.8*x
	plt.plot(x, y)
	x = np.linspace(0, xmax+0.05)
	y = -0.8*x
	plt.plot(x, y)
	x = np.linspace(0, xmax+0.05)
	y = 0*x
	plt.plot(x, y, 'black', linewidth=0.5)
	plt.show()


	from statsmodels.nonparametric.kernel_regression import KernelReg

	X = xneg+xpos
	Y = eneg+epos

	# Combine lists into list of tuples
	points = zip(X, Y)

	# Sort list of tuples by x-value
	points = sorted(points, key=lambda point: point[0])

	# Split list of tuples into two list of x values any y values
	X, Y = zip(*points)

	print()
	print()
	print('Funnel Plot Interpolation:')
	print()

	kr = KernelReg(Y,X,'o')
	y_pred, y_std = kr.fit(X)
	plt.xlim(0, xmax+0.05)
	plt.scatter(X,Y, s = 20)
	plt.title("Funnel Plot")
	plt.xlabel("Standard Error")
	plt.ylabel("Centered Effect Size")
	x = np.linspace(0, xmax+0.05)
	y = 0*x
	plt.plot(x, y, 'black', linewidth=0.5)
	plt.plot(X, y_pred, color = 'orange')
	plt.show()

	print()
	print('R_Squared =',"%.2f" % kr.r_squared())
	print()

else:

	print()
	print('UNABLE TO CALCULATE Below Test Effect Regression Line')
	print()

if len(epos) > 0 and len(eneg) > 0:

	if davg_uncorrected > 0:
		if abs(slope_neg) > slope_pos:
			prob = 100
		else:
			prob = 100*(0.3*math.exp(-abs(slope_neg))+abs(slope_neg))/(0.3*math.exp(-abs(slope_pos))+slope_pos)
	else:
		if slope_pos > abs(slope_neg):
			prob = 100
		else:
			prob = 100*(0.3*math.exp(-abs(slope_pos))+slope_pos)/(0.3*math.exp(-abs(slope_neg))+abs(slope_neg))

	print()

	slope_diff = slope_pos-abs(slope_neg)

	print(u'\u2022'' TEST FOR FUNNEL PLOT ASYMMETRIES:')
	print()
	print()

	print('Slopes: ' "%.3f" % slope_pos, 'Above Effect versus', "%.3f" % slope_neg, 'Below Effect')
	print('Slope Difference: ' "%.3f" % slope_diff)
	print()
	print('---> Estimated Probability of Publishing Undesired Result:', "%.0f" % prob, '%')
	if prob >= 83:
		print('---> Slope Asymmetry Implies INSIGNIFICANT Publication Bias')
	if prob < 83 and prob >= 65:
		print('---> Slope Asymmetry Implies SLIGHT Publication Bias')
	if prob < 65 and prob >= 48:
		print('---> Slope Asymmetry Implies MODERATE Publication Bias')
	if prob < 48 and prob >= 30:
		print('---> Slope Asymmetry Implies STRONG Publication Bias')
	if prob < 30:
		print('---> Slope Asymmetry Implies SEVERE Publication Bias')   
	print()

else:

	print()
	print('UNABLE TO CALCULATE Slope Difference')
	print()

if len(epos) > 0 and len(eneg) > 0:

	ipos = len(xpos)
	ineg = len(xneg)
	iref = max(ipos,ineg)

	n_diff_raw = 100*(ipos-ineg)/iref
	n_diff = 100*(ipos-ineg)/(iref+2)

	print()
	print('RCT Counts: ' "%.0f" % ipos, 'Above Effect versus', "%.0f" % ineg, 'Below Effect')
	print('RCT Count Asymmetry Raw: ' "%+.0f" % n_diff_raw, '%')
	print('RCT Count Asymmetry Corrected: ' "%+.0f" % n_diff, '%')

	if davg_uncorrected > 0:
		if n_diff < 0:
			prob1 = 100
		else:
			prob1 = 100-n_diff
	else:
		if n_diff > 0:
			prob1 = 100
		else:
			prob1 = 100-abs(n_diff)

	print()
	print('---> Estimated Probability of Publishing Undesired Result:', "%.0f" % prob1, '%')
	if prob1 >= 83:
		print('---> RCT Count Asymmetry Implies INSIGNIFICANT Publication Bias')
	if prob1 < 83 and prob1 >= 65:
		print('---> RCT Count Asymmetry Implies SLIGHT Publication Bias')
	if prob1 < 65 and prob1 >= 48:
		print('---> RCT Count Asymmetry Implies MODERATE Publication Bias')
	if prob1 < 48 and prob1 >= 30:
		print('---> RCT Count Asymmetry Implies STRONG Publication Bias')
	if prob1 < 30:
		print('---> RCT Count Asymmetry Implies SEVERE Publication Bias')
	print()


	outlierpos = 0
	j = 0
	while j < len(epos):
		if epos[j] > 0.5:
			outlierpos = outlierpos + 1
		j += 1

	outlierneg = 0
	j = 0
	while j < len(eneg):
		if eneg[j] < -0.5:
			outlierneg = outlierneg + 1
		j += 1

	iref = max(outlierpos,outlierneg)

	if iref <= 0: iref = 1

	outlier_diff_raw = 100*(outlierpos-outlierneg)/iref
	outlier_diff = 100*(outlierpos-outlierneg)/(iref+1)

	print()
	print('RCT Outlier Counts: ' "%.0f" % outlierpos, 'Above Effect versus', "%.0f" % outlierneg, 'Below Effect')
	print('Outlier Asymmetry Raw: ' "%+.0f" % outlier_diff_raw, '%')
	print('Outlier Asymmetry Corrected: ' "%+.0f" % outlier_diff, '%')

	if davg_uncorrected > 0:
		if outlier_diff < 0:
			prob2 = 100
		else:
			prob2 = 100-outlier_diff
	else:
		if outlier_diff > 0:
			prob2 = 100
		else:
			prob2 = 100-abs(outlier_diff)

	print()
	print('---> Estimated Probability of Publishing Undesired Result:', "%.0f" % prob2, '%')
	if prob2 >= 83:
		print('---> Outlier Asymmetry Implies INSIGNIFICANT Publication Bias')
	if prob2 < 83 and prob2 >= 65:
		print('---> Outlier Asymmetry Implies SLIGHT Publication Bias')
	if prob2 < 65 and prob2 >= 48:
		print('---> Outlier Asymmetry Implies MODERATE Publication Bias')
	if prob2 < 48 and prob2 >= 30:
		print('---> Outlier Asymmetry Implies STRONG Publication Bias')
	if prob2 < 30:
		print('---> Outlier Asymmetry Implies SEVERE Publication Bias')   
	print()



	distance_pos = 0
	j = 0
	while j < len(epos):
		distance_pos = distance_pos+epos[j]
		j += 1

	distance_neg = 0
	j = 0
	while j < len(eneg):
		distance_neg = distance_neg+eneg[j]
		j += 1

	distance_ref = max(distance_pos,abs(distance_neg))

	distance_diff_raw = 100*(distance_pos+distance_neg)/distance_ref
	distance_diff = 100*(distance_pos+distance_neg)/(distance_ref+0.4)

	print()
	print('Effect Distance Sums: ' "%.2f" % distance_pos, 'Above Effect versus', "%.2f" % distance_neg, 'Below Effect')
	print('Effect Distance Sum Asymmetry Raw: ' "%+.0f" % distance_diff_raw, '%')
	print('Effect Distance Sum Asymmetry Corrected: ' "%+.0f" % distance_diff, '%')

	if davg_uncorrected > 0:
		if distance_diff < 0:
			prob3 = 100
		else:
			prob3 = 100-abs(distance_diff)
	else:
		if distance_diff > 0:
			prob3 = 100
		else:
			prob3 = 100-abs(distance_diff)

	print()
	print('---> Estimated Probability of Publishing Undesired Result:', "%.0f" % prob3, '%')
	if prob3 >= 83:
		print('---> Effect Distance Sum Asymmetry Implies INSIGNIFICANT Publication Bias')
	if prob3 < 83 and prob3 >= 65:
		print('---> Effect Distance Sum Asymmetry Implies SLIGHT Publication Bias')
	if prob3 < 65 and prob3 >= 48:
		print('---> Effect Distance Sum Asymmetry Implies MODERATE Publication Bias')
	if prob3 < 48 and prob3 >= 30:
		print('---> Effect Distance Sum Asymmetry Implies STRONG Publication Bias')
	if prob3 < 30:
		print('---> Effect Distance Sum Asymmetry Implies SEVERE Publication Bias')   
	print()


	epos_max = 0
	j = 0
	while j < len(epos):
		if epos[j] > epos_max:
			epos_max = epos[j]
		j += 1	

	eneg_max = 0
	j = 0
	while j < len(eneg):
		if eneg[j] < eneg_max:
			eneg_max = eneg[j]
		j += 1	

	maxeffect_ref = max(epos_max,abs(eneg_max))

	maxeffect_diff_raw = 100*(epos_max+eneg_max)/maxeffect_ref
	maxeffect_diff = 100*(epos_max+eneg_max)/(maxeffect_ref+0.1)

	print()
	print('Effect Ranges: ' "%.2f" % epos_max, 'Above Effect versus', "%.2f" % eneg_max, 'Below Effect')
	print('Effect Range Asymmetry Raw: ' "%+.0f" % maxeffect_diff_raw, '%')
	print('Effect Range Asymmetry Corrected: ' "%+.0f" % maxeffect_diff, '%')

	if davg_uncorrected > 0:
		if maxeffect_diff < 0:
			prob4 = 100
		else:
			prob4 = 100-abs(maxeffect_diff)
	else:
		if maxeffect_diff > 0:
			prob4 = 100
		else:
			prob4 = 100-abs(maxeffect_diff)

	print()
	print('---> Estimated Probability of Publishing Undesired Result:', "%.0f" % prob4, '%')
	if prob4 >= 83:
		print('---> Effect Range Asymmetry Implies INSIGNIFICANT Publication Bias')
	if prob4 < 83 and prob4 >= 65:
		print('---> Effect Range Asymmetry Implies SLIGHT Publication Bias')
	if prob4 < 65 and prob4 >= 48:
		print('---> Effect Range Asymmetry Implies MODERATE Publication Bias')
	if prob4 < 48 and prob4 >= 30:
		print('---> Effect Range Asymmetry Implies STRONG Publication Bias')
	if prob4 < 30:
		print('---> Effect Range Asymmetry Implies SEVERE Publication Bias')  
	print()


	gw = (100/prob)**1.33
	gw1 = (100/prob1)**1.33
	gw2 = (100/prob2)**1.33
	gw3 = (100/prob3)**1.33
	gw4 = (100/prob4)**1.33

	gwsum = gw + gw1 + gw2 + gw3 + gw4

	prob_mean = (gw*prob+gw1*prob1+gw2*prob2+gw3*prob3+gw4*prob4)/gwsum

	ugw = (100/prob)
	ugw1 = (100/prob1)
	ugw2 = (100/prob2)
	ugw3 = (100/prob3)
	ugw4 = (100/prob4)

	ugwsum = ugw + ugw1 + ugw2 + ugw3 + ugw4

	uvar = 1/ugwsum
	use = 100*math.sqrt(uvar)

	prob_lower = prob_mean - 0.75*use
	prob_upper = prob_mean + 0.75*use

	print()
	print(u'\u2022'' COMBINED FUNNEL PLOT ANALYSIS:')
	print()
	print('--->>> Estimated Probability of Publishing Undesired Result:', "%.0f" % prob_mean, '% [', "%.0f" % prob_lower, '% ,', "%.0f" % prob_upper, '% ]')
	if prob_mean >= 83:
		print('--->>> Funnel Plot Analysis Implies INSIGNIFICANT Publication Bias')
	if prob_mean < 83 and prob_mean >= 65:
		print('--->>> Funnel Plot Analysis Implies SLIGHT Publication Bias')
	if prob_mean < 65 and prob_mean >= 48:
		print('--->>> Funnel Plot Analysis Implies MODERATE Publication Bias')
	if prob_mean < 48 and prob_mean >= 30:
		print('--->>> Funnel Plot Analysis Implies STRONG Publication Bias')
	if prob_mean < 30:
		print('--->>> Funnel Plot Analysis Implies SEVERE Publication Bias')   

else:

	print()
	print('UNABLE TO CALCULATE Asymmetries')
	print()

print()
print('Imputed Probabilities of Publishing Undesired Results:')
print()
means = [prob, prob1, prob2, prob3, prob4, prob_mean]

ci = [(prob,prob),(prob1,prob1),(prob2,prob2),(prob3,prob3),(prob4,prob4), (prob_lower, prob_upper)]

y_r = [means[i] - ci[i][1] for i in range(len(ci))]
plt.bar(range(len(means)), means, yerr=y_r, align='center', error_kw=dict(lw=2, capsize=5, capthick=2))
plt.xticks(range(len(means)), ['Slopes','Counts', 'Outliers', 'Distances', 'Ranges', 'Combined'])
plt.show()










print()
print()
print()
print('--------------------------------------------------')
print(u'\u2022'u'\u2022'u'\u2022'' SENSITIVITY ANALYSIS OF FULL META-ANALYSIS 'u'\u2022'u'\u2022'u'\u2022')
print('--------------------------------------------------')
print()

dremain = []
dlowerremain = []
dupperremain = []

changesum = 0
changemax = 0
minhoc = 100

n = 0
while n < len(d_original):

	d = list(d_original)
	dlow = list(dlow_original)
	dhigh = list(dhigh_original)

	del d[n]
	del dlow[n]
	del dhigh[n]

	wsum = 0
	i = 0
	while i < len(d):
		wsum = wsum + w(dlow[i], dhigh[i])
		i += 1

	q1sum = 0
	i = 0
	while i < len(d):
		q1sum = q1sum + w(dlow[i], dhigh[i])*d[i]**2
		i += 1

	q2sum = 0
	i = 0
	while i < len(d):
		q2sum = q2sum + w(dlow[i], dhigh[i])*d[i]
		i += 1

	Q = q1sum - (q2sum**2)/wsum

	c1sum = 0
	i = 0
	while i < len(d):
		c1sum = c1sum + w(dlow[i], dhigh[i])**2
		i += 1

	C = wsum - c1sum/wsum

	df = len(d) - 1


	tau_squared_prelim = (Q-df)/C

	if tau_squared_prelim < 0:
		tau_squared = 0
	else:
		tau_squared = tau_squared_prelim


	if fixed_mode > 0:
		tau_squared = 0


	I_squared_prelim = 100*(Q-df)/Q

	if I_squared_prelim < 0:
		I_squared = 0
	else:
		I_squared = I_squared_prelim


	if fixed_mode > 0:
		I_squared = 0
		Q = 0

	# random-effects meta-analysis

	gsum = 0
	i = 0
	while i < len(d):
		gsum = gsum + g(dlow[i], dhigh[i])
		i += 1

	v = 1/gsum
	se = math.sqrt(v)

	# calculation of final results

	dsum = 0
	i = 0
	while i < len(d):
		dsum = dsum + g(dlow[i], dhigh[i])*d[i]
		i += 1

	davg = dsum/gsum

	dremain.append(davg)

	dlower = davg - 1.96*se
	dupper = davg + 1.96*se

	dlowerremain.append(dlower)
	dupperremain.append(dupper)

	z = abs(davg/se)
	p = scipy.stats.norm.sf(z)

	c = abs(davg/(1.96*se)*0.85)

	if c < minhoc:
		minhoc = c

	change = 100*(davg-davg_uncorrected)/davg_uncorrected
	changesum = changesum + abs(change)

	if abs(change) > changemax:
		changemax = abs(change)

	print('--->>> d =', "%+.3f" % davg, '[', "%+.3f" % dlower, ',', "%+.3f" % dupper, '] / p =', "%.3f" % p, '/ H0C =',"%.2f" % c)
	print('--->>> Change to Uncorrected Effect:', "%+.1f" % change, '%')
	print()

	n += 1

print('Plot for Remaining Effect Size after Removing the n-th RCT:')
print()


means = []
labels = []
n = 0
while n < len(dremain):
	means.append(dremain[n])
	labels.append(n+1)
	n += 1

ci = []
n = 0
while n < len(dremain):
	ci.append((dlowerremain[n],dupperremain[n]))
	n += 1

y_r = [means[i] - ci[i][1] for i in range(len(ci))]
plt.bar(range(len(means)), means, yerr=y_r, align='center', error_kw=dict(lw=2, capsize=5, capthick=2))
plt.xticks(range(len(means)), labels)
plt.axhline(y=davg_uncorrected,linewidth=1, color='red')
x = np.linspace(-1, len(dremain))
y = 0*x
plt.plot(x, y, 'black', linewidth=0.5)
plt.show()

changeavg = changesum/len(dremain)

print()
print('Average Absolute Change:', "%.1f" % changeavg, '%')
print('Maximum Absolute Change:', "%.1f" % changemax, '%')
print()
print('Minimum H0C:', "%.2f" % minhoc)




if k_test > 1:
	
	print()
	print()
	print()
	print('--------------------------------------------------------')
	print(u'\u2022'u'\u2022'u'\u2022'' SENSITIVITY ANALYSIS OF RESTRICTED META-ANALYSIS 'u'\u2022'u'\u2022'u'\u2022')
	print('--------------------------------------------------------')
	print()

	dremain = []
	dlowerremain = []
	dupperremain = []

	changesum = 0
	changemax = 0
	minhoc = 100

	n = 0
	while n < len(sort):

		d = list(sort)
		dlow = list(sortlow)
		dhigh = list(sorthigh)

		del d[n]
		del dlow[n]
		del dhigh[n]

		wsum = 0
		i = 0
		while i < len(d):
			wsum = wsum + w(dlow[i], dhigh[i])
			i += 1

		q1sum = 0
		i = 0
		while i < len(d):
			q1sum = q1sum + w(dlow[i], dhigh[i])*d[i]**2
			i += 1

		q2sum = 0
		i = 0
		while i < len(d):
			q2sum = q2sum + w(dlow[i], dhigh[i])*d[i]
			i += 1

		Q = q1sum - (q2sum**2)/wsum

		c1sum = 0
		i = 0
		while i < len(d):
			c1sum = c1sum + w(dlow[i], dhigh[i])**2
			i += 1

		C = wsum - c1sum/wsum

		df = len(d) - 1

		if k_test > 2:
			tau_squared_prelim = (Q-df)/C

			if tau_squared_prelim < 0:
				tau_squared = 0
			else:
				tau_squared = tau_squared_prelim
		else:
			tau_squared = 0

		if fixed_mode > 0:
			tau_squared = 0

		if k_test > 2:
			I_squared_prelim = 100*(Q-df)/Q

			if I_squared_prelim < 0:
				I_squared = 0
			else:
				I_squared = I_squared_prelim
		else:
			I_squared = 0

		if fixed_mode > 0:
			I_squared = 0
			Q = 0

		# random-effects meta-analysis

		gsum = 0
		i = 0
		while i < len(d):
			gsum = gsum + g(dlow[i], dhigh[i])
			i += 1

		v = 1/gsum
		se = math.sqrt(v)

		# calculation of final results

		dsum = 0
		i = 0
		while i < len(d):
			dsum = dsum + g(dlow[i], dhigh[i])*d[i]
			i += 1

		davg = dsum/gsum

		dremain.append(davg)

		dlower = davg - 1.96*se_uncorrected
		dupper = davg + 1.96*se_uncorrected

		dlowerremain.append(dlower)
		dupperremain.append(dupper)

		z = abs(davg/se_uncorrected)
		p = scipy.stats.norm.sf(z)

		c = abs(davg/(1.96*se_uncorrected)*0.85)

		if c < minhoc:
			minhoc = c

		change = 100*(davg-davg_corrected)/davg_corrected
		changesum = changesum + abs(change)

		if abs(change) > changemax:
			changemax = abs(change)

		print('--->>> d =', "%+.3f" % davg, '[', "%+.3f" % dlower, ',', "%+.3f" % dupper, '] / p =', "%.3f" % p, '/ H0C =',"%.2f" % c)
		print('--->>> Change to Corrected Effect:', "%+.1f" % change, '%')
		print()

		n += 1

	print('Plot for Remaining Effect Size after Removing the n-th RCT:')
	print()

	means = []
	labels = []
	n = 0
	while n < len(dremain):
		means.append(dremain[n])
		labels.append(n+1)
		n += 1

	ci = []
	n = 0
	while n < len(dremain):
		ci.append((dlowerremain[n],dupperremain[n]))
		n += 1

	y_r = [means[i] - ci[i][1] for i in range(len(ci))]
	plt.bar(range(len(means)), means, yerr=y_r, align='center', error_kw=dict(lw=2, capsize=5, capthick=2))
	plt.xticks(range(len(means)), labels)
	plt.axhline(y=davg_corrected,linewidth=1, color='red')
	x = np.linspace(-1, len(dremain))
	y = 0*x
	plt.plot(x, y, 'black', linewidth=0.5)
	plt.show()

	changeavg = changesum/len(dremain)

	print()
	print('Average Absolute Change:', "%.1f" % changeavg, '%')
	print('Maximum Absolute Change:', "%.1f" % changemax, '%')
	print()
	print('Minimum H0C:', "%.2f" % minhoc)





if len(year) > 0:

	print()
	print()
	print()
	print('---------------------------')
	print(u'\u2022'u'\u2022'u'\u2022'' TIME-SERIES OF RCTS 'u'\u2022'u'\u2022'u'\u2022')
	print('---------------------------')
	print()

	yearmin = 10000
	i = 0
	while i < len(d_original):
		if year[i] < yearmin:
			yearmin = year[i]
		i += 1

	yearmax = 0
	i = 0
	while i < len(d_original):
		if year[i] > yearmax:
			yearmax = year[i]
		i += 1

	print('Earliest RCT:', yearmin)
	print('Most Recent RCT:',yearmax)
	print()

	yearrange = yearmax-yearmin

	yearlist = []
	i = 0
	while i < yearrange+1:
		yearlist.append(yearmin+i)
		i += 1

	numberstudies = []
	i = 0
	while i < yearrange+1:
		number = year.count(yearmin+i)
		numberstudies.append(number)
		i += 1

	print('Number of RCTs Over Time:')
	print()

	fig = plt.figure()
	ax = fig.add_axes([0,0,1,1])
	ax.bar(yearlist,numberstudies)
	plt.show()

	X = year
	Y = d_original

	print()
	print('Linear Regression Test of Effect Sizes Over Time:')

	model = sm.OLS(Y,sm.add_constant(X))
	results = model.fit()
	plt.scatter(X,Y, s = 20)
	X_plot = np.linspace(yearmin-2,yearmax+2,100)
	plt.plot(X_plot, results.params[0] + X_plot*results.params[1], color = 'orange')
	print()
	plt.show()

	print()
	print('Slope =', "%+.2f" % results.params[1], '/ p =', "%.3f" % results.pvalues[1])
	print('R_Squared =',"%.2f" % results.rsquared)
	print()
	print('Interpolation of Effect Sizes Over Time:')
	print()

	from statsmodels.nonparametric.kernel_regression import KernelReg

	# Combine lists into list of tuples
	points = zip(X, Y)

	# Sort list of tuples by x-value
	points = sorted(points, key=lambda point: point[0])

	# Split list of tuples into two list of x values any y values
	X, Y = zip(*points)

	kr = KernelReg(Y,X,'o')
	y_pred, y_std = kr.fit(X)
	plt.xlim(yearmin-2, yearmax+2)
	plt.scatter(X,Y, s = 20)
	plt.plot(X, y_pred, color = 'orange')
	plt.show()

	print()
	print('R_Squared =',"%.2f" % kr.r_squared())

Simulation des Mindfulness-Paradoxons

Der Begriff “Mindfulness-Paradoxon”, den ich gerade eben erfunden habe, bezieht sich auf einen interessanten statistischen Scheinwiderspruch, den man ziemlich häufig beim Vergleich von kontrollierten Experimenten und Beobachtungsstudien findet. Dieser ist nicht begrenzt auf Mindfulness, aber Mindfulness bietet ein schönes Beispiel dafür. Hier zwei einfache und leicht nachweisbare Fakten über Mindfulness:

  • Kontrollierte Experimente (Behandlungs- versus Placebogruppe) zeigen, dass Mindfulness eine effektive Möglichkeit zur Senkung von Neurotizismus ist.
  • In Beobachtungsstudien (Umfragen) zeigt sich, dass Mindfulness positiv mit Neurotizismus assoziiert ist. Leute, die viel Mindfulness betreiben, sind im Mittel neurotischer (!) als jene, die es nicht tun.

Das beißt sich auf den ersten Blick: Mindfulness senkt Neurotizismus, Leute die häufig Mindfulness betreiben sind aber im Mittel neurotischer als andere. Mit einer numerischen Simulation lässt sich aber zeigen, dass diese beiden Fakten nur auf den ersten Blick widersprüchlich sind. Tatsächlich passt das ganz wundervoll zusammen.

Wer betreibt Mindfulness? Der Einfachheit halber die Beschränkung auf zwei Motivationen: Interesse, Leidensdruck. Manche machen es aus reinem Interesse, ohne es als ein Werkzeug zur Bekämpfung psychischer Probleme aufzufassen. Andere machen es, um den Leidensdruck infolge von hohem Neurotizismus zu senken. Und da steckt eigentlich schon des Rätsels Lösung: Je neurotischer eine Person, desto höher die Wahrscheinlichkeit, dass diese Person irgendwann Mindfulness probiert und ins Leben integriert. Aus letzterem ergibt sich dann eine Senkung des Neurotizismus, das Niveau wird aber danach immer noch höher sein als bei jenem, der infolge von Abwesenheit von Leidensdrucks nie nach einer solcher Linderung gesucht hat.

Hier der Prozess als numerische Simulation. Man sieht sehr schön, wie die positive Korrelation zwischen Mindfulness und Neurotizismus entsteht, obwohl Mindfulness effektiv Neurotizismus senkt. Betrachtet werden n = 1000 Leute. Jedem wird gemäß der Normalverteilung einen Neurotizismus-Wert zugewiesen.

import matplotlib.pyplot as plt
import math
import scipy.stats
import numpy as np
import statsmodels.api as sm

n = 1000

e = -1

neuro = np.random.normal(0,1,n)

Die Variable e soll die maximale Effektstärke einer Mindfulness-Intervention darstellen. Danach wird eine Training-Funktion definiert. Sie drückt aus, dass je neurotischer eine Person, desto höher die Wahrscheinlichkeit Mindfulness zu praktizieren. Mit p0 und p1 kann man die Funktion etwas steuern. p0 ist die Wahrscheinlichkeit bei mittlerem Neurotizismus (z = 0), p1 bei extremem Neurotizismus (z = 3). Man sieht, dass der Zusammenhang hier nicht Schwarz-Weiß ist. 10 % bei mittlerem Neurotizismus, 15 % im oberen Extrembereich.

p0 = 0.1
p1 = 0.15

def tr(x):
	tr = p0*(p1/p0)**(x/3)
	return tr

Dann die eigentliche Simulation. Jedem wird ein neuer Neurotizismus-Wert zugewiesen, berechnet aus vorherigem Neurotizismus minus der eventuellen Wirkung aus Mindfulness-Training. Es wird berücksichtigt, dass nicht jeder strikt gemäß seinem Level an Neurotizismus Mindfulness trainiert (Zufallszahl a) und nicht jeder bei gleichem Level an Training denselben Effekt bekommt (Zufallszahl b). Dazu noch ein Term für die zufällige Wirkung anderer Dinge des Lebens auf den Neurotizimus (Zufallszahl eff_other).

neuro_new = []
training_level = []
i = 0

while i < n:

	a = np.random.uniform(0.75,1.25)
	k = np.random.uniform(-p0,p0)

	b = np.random.uniform(0.75,1.25)

	x = neuro[i]
	tr_real = k+tr(x)*a

	eff_real = tr_real*e*b

	eff_other = np.random.uniform(-0.33,0.33)

	neuro_new.append(x+eff_real+eff_other)
	training_level.append(tr_real)

	i += 1

Dann Regression, Plot und Angabe wichtiger Parameter:

X = training_level
Y = neuro

model = sm.OLS(Y,sm.add_constant(X))
results = model.fit()

print(results.summary())

plt.scatter(X,Y, s = 2)

X_plot = np.linspace(-0.05,p1+0.1,100)
plt.plot(X_plot, results.params[0] + X_plot*results.params[1], color = 'red')

print()
plt.show()

beta = results.params[1]*results.bse[0]/results.bse[1]

print()
print('Standardized Slope: ß =', "%+.2f" % beta, '/ p =', "%.3f" % results.pvalues[1], '/ R^2 =',"%.2f" % results.rsquared)
print()

r = scipy.stats.pearsonr(training_level, neuro)
print('Correlation Coefficient: r =', "%+.2f" % r[0], '/ p =', "%.3f" % r[1])

Es kommt dieses schöne Resultat dabei raus:

Für jede Person, die Mindfulness betrieben hat, hat sich der Neurotizismus gesenkt. Am Ende bleibt trotz dieser hilfreichen Wirkung eine positive Korrelation zwischen Mindfulness und Neurotizismus. Das Beta ist etwas höher als in der Realität, der Korrelationskoeffizient ist aber eine Punktlandung. Ein Koeffizient um die r = +0,20 bis r = +0,25 ist auch das, was man in Datensätzen realer Umfagen findet.

Welche Schlüsse hätte man wohl gezogen, hätte man zuerst diesen Graph zu Mindfulness und Neurotizismus gesehen? Wenn man die Ergebnisse der kontrollierten Experimente nicht kennen würde? Der Scheinwiderspruch zeigt, dass die Interpretation von Daten aus Beobachtungsstudien eine wahnsinnig komplizierte Geschichte ist. Die Versuchung ist groß, in Korrelationen Ursache und Wirkung zu sehen. Hier etwa: Mindfulness hilft nicht. Oder noch schlimmer: Mindfulness ist schädlich. Jedoch können nur kontrollierte Experimente und Meta-Analysen dieser Experimente die Wahrheit offenbaren und bei Mindfulness sprechen sie eine klare Sprache, entgegen der bloßen Korrelation.

Antidepressive Wirkung von Omega-3

Im Bereich der Supplemente ist Omega-3 das am besten erforschte Mittel bezüglich antidepressiver Wirkung. Schon seit zwei Jahrzehnten werden kontrollierte Experimente (RCTs) damit durchgeführt und es gibt mehr als ein Dutzend Meta-Analysen dieser RCTs. Die größte Meta-Analyse ist diese. Sie umfasst eine stolze Anzahl von 35 RCTs mit knapp 11.000 Probanten (6700 in Behandlungsgruppen, 4300 in Placebogruppen). Ich wollte vor allem mal einen Blick auf Publikationsbias werfen, was mir auch die Möglichkeit gibt, mein eigenes Programm zur automatischen Ermittlung und Korrektur von Publikationsbias zu testen.

Zwei wichtige Punkte vorab:

  • Eine solide antidepressive Wirkung existiert. Dies gilt jedoch nur für depressive Probanten. Bei gesunden Probanten tut Omega-3 nichts.
  • Omega-3 Supplemente enthalten stets einen gewissen Anteil DHA und EPA. Die Meta-Analyse zeigt deutlich, dass die antidepressive Wirkung von EPA kommt. Das DHA hat keine solche Wirkung. Für eine antidepressive Wirkung sollte also anteilig soviel EPA wie möglich beim Supplement enthalten sein.

Es lohnt sich somit, die weitere Analyse auf die Subgruppe “EPA-reiches Supplement + depressive Probanten” zu beschränken. Die Meta-Analyse enthält nützlicherweise den Forest Plot für genau jene Subgruppe:

Sie stellt für diese Gruppe diese Effektstärke fest:

d = 0,61 [0,37 – 0,84]

Hier der Output aus meinem Programm, jedoch mit Ausschluss des Experiments, in dem Omega-3 als Zusatz zu einer anderen Behandlung gegeben wurde (da Silva et al 2008 Augmented). Man sieht daran, dass die Einschränkung auf diese Subgruppe eine Einschränkung auf circa 900 Probanten bringt und die durchschnittliche Anzahl Probanten pro RCT knapp 40 ist.

Der kleine Unterschied im Ergebnis liegt an der unterschiedlichen Berechnung von Tau² (siehe Hinweis unten). Interessant ist die Frage, ob Publikationsbias besteht und wenn ja, welcher Effekt nach Korrektur verbleibt. Die Autoren der Studie stellen fest, dass ein Publikationsbias bemerkbar ist und kommen mittels Trim-And-Fill auf:

d_korrigiert = 0,42 [0,18 – 0,65]

Ich halte das immer noch für überschätzt, da es a) zu hoch ist um plausibel zu sein, siehe z.B. Vergleich mit Effektstärken von CBT oder SSRI, und viel wichtiger b) nicht mit der Effektstärke übereinstimmt, zu denen die größten RCTs konvergieren. Rechnet man die Meta-Analyse unter Beschränkung auf die sechs größten RCTs nach, aus guten Gründen auch mit Verschiebung statt Neuberechnung des 95 % Konfidenzintervalls, dann bekommt man:

d_korrigiert = 0,33 [0,09 – 0,56] mit p < 0,01

Ich würde es mit Blick auf die beiden mit größten RCTs sogar noch etwas niedriger ansetzen, etwa bei d = 0,30. Wieso die Diskrepanz zu dem, was die Autoren angeben? Korrektur von Publikationsbias ist keine harte Wissenschaft. Trim-And-Fill findet den korrigierten Wert durch Eliminierung von Asymmetrie im Funnel Plot. Das ist ein guter Ansatz. Die obige Methode geht davon aus, dass je größer die RCTs, desto besser die Konvergenz zum echten Effekt. Auch das ist ein guter Ansatz. Im Idealfall kommt man damit auf das Gleiche, in der Realität wird die Übereinstimmung nie perfekt sein.

Ich traue eher dem zweiten Ansatz, da er unabhängig von sehr kleinen RCTs mit wenig statistischer Aussagekraft ist (Probantenzahlen < 30, in dieser Subgruppe 10 der 22 RCTs). Diese RCTs, welche man eher als Pilotprojekte betrachten sollte, sind nützlich in den ersten Phasen der Forschung. Ohne erfolgreiche Pilotprojekte findet sich in der Regel keine Finanzierung für größere RCTs. Sobald jedoch umfangreichere RCTs bestehen, ist die Inklusion der Pilotprojekte in Meta-Analysen eher fragwürdig. Vor allem da diese RCTs fast immer den Großteil des Publikationsbias ausmachen.

Das Programm stellt korrekterweise fest, dass der Einfluss des Publikationsbias auf die Effektstärke signifikant ist (mit p < 0,05) und auch die Sicherheit bei der Ablehnung der Nullhypothese etwas verändert, jedoch nicht auf kritische Weise. Es macht Sinn diese beiden Aspekte getrennt zu betrachten. Korrektur von Publikationsbias kann Effektstärken stark verändern, was aber nicht immer die Ablehnung der Nullhypothese berührt. Es kann auch nach Korrektur noch viel Luft zur Null bleiben. Alternativ kann bei einem schwachen Effekt schon eine kleine Veränderung der Effektstärke die Ablehnung der Nullhypothese gefährden.

Eine Analyse der Asymmetrie des Funnel Plots bestätigt, was die Autoren erwähnen und der erste Teil der automatisierten Analyse gefunden hat. Und zeigt auch sehr schön, wieso eine Regression am Funnel Plot (z.B. Egger’s Test) nicht immer ausreichend ist, um Publikationsbias zu identifizieren. Zentriert man die Effektstärken der RCTs auf d_korrigiert = 0,33 und erzeugt dann das Standardfehler-Effektstärke-Diagramm, dann ergibt sich für die Linie durch die Effektstärken über 0 praktisch diesselbe Steigung wie für die Linie für Effektstärken unter 0. Dieser Test zeigt den Publikationsbias in diesem Fall also nicht.

Dass er trotzdem besteht, sieht man an anderen Möglichkeiten, Asymmetrien des Funnel Plots zu quantifizieren. Einmal über banales Zählen der RCTs (mehr RCTs über 0 als unter 0), Zählen der Ausreißer (mehr Ausreißer über 0 als unter Null), der Summe der Effekt-Distanzen zum korrigierten Effekt (höhere Summe über 0 als unter 0) und die Werte der maximalen Effekt-Distanzen (größer über 0 als unter 0). Insgesamt implizieren die Asymmetrien einen recht saftigen Publikationsbias und implizieren, dass nur knapp 40 % der unerwünschten RCT-Ausgänge publiziert werden.

Alles in Kurz:

Omega-3 Supplemente, sofern reich an EPA und verabreicht an depressive Probanten, zeigen eine gute antidepressive Wirkung, die auch einem strikten statistischen Härtetest standhält. Die Effektstärke sollte man, basierend auf dem Grundgedanken, dass die größten RCTs zur echten Effektstärke konvergieren, bei um die d = 0,30 Standardabweichungen oberhalb des Placebo-Effekts vermuten.

Hinweis: Es gibt verschiedene Anssätze um die Varianz zwischen Studien (Tau²) zu berechnen, siehe hier. Ich habe den “Two-Step Estimator” von Dersimonian / Laird benutzt, weil er sich recht direkt und ohne besonders viel Schmerz implementieren lässt. Je nach Wahl der Methode bekommt man jedoch ein leicht verschiedenes Tau² heraus. Tau² wird zur Varianz jedes Experiments hinzugerechnet. Man kann es sich gut vorstellen als “zusätzliches Rauschen”, welches eingeführt wird, um einer hohen Varianz (wenig Übereinstimmung) zwischen den Experimenten Rechnung zu tragen. Ist die Varianz sehr klein (hohe Übereinstimmung), dann ist Tau² = 0 und man spricht von einer Fixed-Effects Meta-Analyse. Bei Tau² > 0 von einer Random-Effects Meta-Analyse. Mit dem Tau² ändern sich die jeweiligen RCT Gewichte und die gewichtete Effektstärke verschiebt sich. So können leichte Unterschiede entstehen.

Harvesting Effekt beim Coronavirus

Wenn ich heute eine Million 80+ Jährige töten würde (hypothetisch natürlich), dann würde sich kurzfristig eine sehr hohe Übersterblichkeit zeigen und die Wochen / Monate danach eine verringerte Übersterblichkeit. Diese Reduktion nach einem kurzfristigen Peak nennt sich Harvesting Effekt und erklärt sich daraus, dass diese viele dieser Leute, die in diesen Wochen auf natürlichem Wege gestorben wären, nun schon vorzeitig verstorben sind und somit in den folgenden Wochen in der Mortalitätsstatistik “fehlen”. Wenn ich im Gegensatz dazu heute eine Million 30-50 Jährige töten würde, gäbe es ebenfalls eine kurzfristige Übersterblichkeit, jedoch ohne die darauffolgende Reduktion, da man erwarten darf, dass von diesen in den folgenden Wochen fast niemand auf natürlichem Wege verstorben wären. Hier würde sich also kein Harvesting Effekt zeigen. Dieser ergibt sich nur, wenn durch ein Ereignis plötzlich mehr jener Menschen sterben, die schon am Ende ihres Lebens stehen. Der Effekt zeigt sich z.B. manchmal nach besonders starken Grippe-Wellen, siehe hier in Frankreich nach der 2017 Grippe-Welle:

Gab es diesen Effekt auch nach der ersten Coronavirus-Welle? Eine Rechnung mit Sterbetafeln zeigt, dass im Mittel pro Todesfall etwa 10 Lebensjahre verloren gehen. Eventuell sind es auch weniger, im Bereich 5-7 Jahren, wenn man Vorerkrankungen berücksichtigt. Aber insgesamt scheint es wenig plausibel, dass viele jener Menschen, die am Coronavirus gestorben sind, nur Wochen oder Monate vor dem Ende ihres Lebens standen. Man würde basierend auf der Rechnung also keinen Harvesting Effekt erwarten. Die Mortalitätsstatistik bestätigt das. Für Gesamt-Europa während und nach der ersten Welle:

  • Sterblichkeit während der Welle: +270 Standardabweichung
  • Sterblichkeit danach: -6 Standardabweichungen
  • Harvesting Anteil: circa 2 %

Harvesting Effekt für bestimmte Länder:

  • Irland: 33 %
  • Schweiz: 31 %
  • Frankreich: 11 %
  • Belgien: 9 %
  • Spanien: 3 %
  • Italien: 0 %
  • Niederlande: 0 %
  • Schweden: 0 %
  • UK: 0 %

Nur in vereinzelten Ländern (Irland, Schweiz) zeigt sich ein deutlicher Harvesting Effekt. Das könnte daran liegen, dass hier Altenheime im Verhältnis zu anderen Infektionsorten überproportional hart betroffen waren. In den meisten Ländern kann man jedoch klar die Abwesenheit eines merklichen Harvesting Effekts feststellen. Die Daten zur Berechnung der obigen Anteile stammen allesamt von EUROMOMO. Es bleibt abzuwarten, ob das auch nach der zweiten Welle Gültigkeit behält.

Antidepressive Wirkung von Licht

Die Idee, depressiven Symptomen mit Licht entgegenzuwirken, ist nicht neu. Es gibt jedoch erst seit einigen Jahren genügend kontrollierte Experimente dazu, um fundiert beurteilen zu können, ob an dieser Idee wirklich etwas dran ist. Basierend auf allen Meta-Studien zu diesem Thema seit 2000 (siehe Liste am Ende des Eintrags), zeigen die Experimente in der Summe einen Effekt von d = 0,47. Das ist etwas weniger effektiv als Mindfulness oder Fitness, deren antidepressive Wirkung bei grob d = 0,55 liegt, aber der Unterschied ist nicht sonderlich groß. Weil Skepsis aber immer ein guter Leitfaden ist, wollte ich die größte Meta-Studie Tao et al. (2020) mal einem statistischen Härtetest unterziehen, vor allem in Hinblick auf Bias.

Tao et al. (2020) führt insgesamt 24 kontrollierte Experimente mit Lichtgeräten auf. Die mittlere Effektstärke beträgt d = 0,41 [0,21, 0,60]. Das stimmt gut mit anderen Meta-Studien zu dem Thema überein. Der Funnel-Plot zeigt, dass keine Verzerrung durch den Publikationsbias besteht. Sehr erfreulich, das schafft Vertrauen! Jedoch sieht man deutliche Unterschiede in der Qualität der Experimente. Nur 7 der 24 Experimente sind komplett frei von möglichem Bias, 2 weitere Experimente zeigen nur eine einzige Unsicherheit bei den verschiedenen Bias-Quellen.

Ich habe die Meta-Analyse neu berechnet unter ausschließlicher Verwendung dieser 9 Experimente. Die Effektstärken und Varianz habe ich dafür direkt der Meta-Studie entnommen und ich habe das gleiche Modell wie die Autoren verwendet (Random-Effects, hier ein guter Überblick). Wieder ergibt sich ein erfreuliches Ergebnis! Beschränkt man sich bei der Analyse auf die bias-freien Experimente, dann ändert sich die Effektstärke nur minimal und der Effekt bleibt statistisch signifikant:

d = 0,34 [0,10, 0,58] und p < 0,01

Der antidepressive Effekt von Licht ist also ziemlich robust. Eine Verzerrung durch Publikationsbias oder individuellem Bias lässt sich ausschließen. Die meisten Experimente der in Tao et al. (2020) aufgeführten Experimente nutzen eine Lichtstärke um die 10.000 Lux, was grob der Strahlungsleistung eines blauen Himmels und dem Zehnfachen der Strahlungsleistung eines grauen Himmels entspricht. Therapielampen mit solcher Strahlungsleistung sind z.B. auf Amazon gut erhältlich. Die Dauer der Anwendung betrug in den Experimenten zwischen 30-60 Minuten pro Tag. Eine Dose-Response-Beziehung, im Sinne von mehr hilft mehr, konnte nicht festgestellt werden, aber das liegt sehr wahrscheinlich an der relativ geringen Anzahl an Experimenten.

Zum Schluss wie versprochen die Liste der Meta-Analysen seit 2000:

RCTs / ProbantenJahrEffektstärkeBias?Link
24 / 11202020d = 0,41LOW-MIDhttps://www.sciencedirect.com/science/article/abs/pii/S0165178120307721
20 / 8802018d = 0,41HIGHhttps://www.cambridge.org/core/journals/bjpsych-open/article/light-therapy-for-nonseasonal-depression-systematic-review-and-metaanalysis/B3250B41E529EF84538BD136F5F14F87
202005d = 0,53https://ajp.psychiatryonline.org/doi/full/10.1176/appi.ajp.162.4.656
11 / 5702016d = 0,69HIGHhttps://www.sciencedirect.com/science/article/abs/pii/S0924977X16000754
92016d = 0,62MIDhttps://www.sciencedirect.com/science/article/abs/pii/S0165032716300076
8 / 4002018d = 0,42MIDhttps://www.ncbi.nlm.nih.gov/pmc/articles/PMC6241691/
7 / 2602019d = 0,43MID-HIGHhttps://journals.sagepub.com/doi/abs/10.1177/0706743719892471
6 / 3602017d = 0,45LOWhttps://www.sciencedirect.com/science/article/abs/pii/S0165032717314581
62020d = 0,25MID-HIGHhttps://onlinelibrary.wiley.com/doi/full/10.1111/pcn.12976

Die Replikationskrise in der Psychologie

Ein großes Projekt mit 100 sehr soliden Studien (Trennschärfe > 90 %) hat gezeigt, dass nur einer von drei Effekten in der Psychologie überhaupt reproduziert werden kann. Das ist ziemlich niederschmetternd für ein Feld, dass sich selbst als Wissenschaft versteht. Bevor man sich überlegt, woran das liegt, hilft es sich erstmal zu schauen, woran es NICHT liegen kann. Dazu gehört: Signifikanzniveau und Trennschärfe (Statistical Power).

Die Psychologie verwendet dasselbe Signifikanzniveau wie andere Felder, a = 0,05. Grob entspricht das der Wahrscheinlichkeit, dass ein nicht-existenter Effekt als signifikant festgestellt wird (Fehler 1. Art). Untersucht man 100 nicht-existente Effekte, würde man 5 fälschlicherweise als gültig einstufen. Die Trennschärfe sagt hingegen, wie wahrscheinlich es ist, einen existenten Effekt als signifikant einzustufen (Eins minus Fehler 2. Art). Also wie gut man existente Effekte als solche identifizieren kann. Empfohlen ist eine Trennschärfe von s = 0,80. Mit diesem Standard würde man bei der Untersuchung von 100 existenten Effekten 80 als gültig einstufen.

Effekt …existiert nichtexistiert
als gültig festgestelltas
nicht als gültig festgestellt1-a1-s

Aus diesen beiden Größen lässt sich leicht berechnen, wie wahrscheinlich es ist, dass ein als gültig eingestufter Effekt auch tatsächlich existiert. Das entspricht der prinzipiellen Replizierbarkeit. Also der Replikationsrate, die man mit Replikationsstudien sehr hoher Güte finden würde. Für a = 0,05 und s = 0,80 bekommt man:

P(Effekt existiert gegeben Effekt festgestellt) = 94 %

Anmerkungen dazu siehe * / **. Bei diesem Standard ergibt sich also eine sehr hohe Replizierbarkeit. 94 % der Effekte, die man als gültig einstuft, gibt es wirklich. Als Grund für die Replikationskrise in der Psychologie wird oft die mangelnde Trennschärfe genannt. Es stimmt auch tatsächlich, dass psychologische Studien im Mittel eher bei einer Trennschärfe von s = 0,50 statt der empfohlenen s = 0,80 liegen. Aber: Das ist nicht der Grund für die miese Replizierbarkeit. Auch mit dieser geringen Trennschärfe ergibt sich eine Replizierbarkeit weit über den ziemlich mageren 33 % des Reproducibility Projects:

P(Effekt existiert gegeben Effekt festgestellt) = 91 %

Signifikanzniveau und Trennschärfen passen also. Was ist es dann? Vielleicht der Publikationsbias? Wenn, dann müsste dieser sehr stark ausgeprägt sein. Nimmt man an, dass alle nicht-existenten Effekte, welche signifikant festgestellt wurden, veröffentlicht werden, und nur mit einer Wahrscheinlichkeit q veröffentlicht werden, wenn diese nicht-signifikant festgestellt wurden (also der Wahrheit entsprechend), dann gilt:

P(Effekt festgestellt gegeben Effekt nicht-existent) = 0,05 / (0,05+0,95*q)

Ohne Publikationsbias (q = 1) bekommt man wieder das Signifikanzniveau:

P(Effekt festgestellt gegeben Effekt nicht-existent) = 5 %

Wie sieht es bei saftigem Publikationsbias aus? Wenn etwa 75 % aller nicht-signifikanten Ergebnisse in der Schublade verschwinden? Dann wäre q = 0,25 und:

P(Effekt festgestellt gegeben Effekt nicht-existent) = 17 %

Klare Steigerung, aber die Mehrheit der Studien zu diesem nicht-existenten Effekt würde trotzdem die Nullhypothese behalten und fast alle Meta-Studien würden zum korrekten Ergebnis kommen. Richtig kritisch wird es erst, wenn 95 % aller nicht-signifikanten Ergebnisse in der Schublade verschwinden (q = 0,05):

P(Effekt festgestellt gegeben Effekt nicht-existent) = 51 %

Ab hier wird es schwer bis unmöglich einen nicht-existenten Effekt als solchen zu identifizieren. Im Prinzip ein Münzwurf und die Replizierbarkeit des gesamten Feldes würde großen Schaden nehmen. Der Publikationsbias müsste also enorm ausgeprägt sein, um einen merklichen Effekt auf die Replizierbarkeit zu haben. Ist ein solches Ausmaß überhaupt realistisch? Könnte sein. In psychologischen Journalen überwiegen signifikante Effekte bei weitem, nicht-signifikante Effekte sind notorisch schwer zu publizieren.

Es ist leicht einzusehen, dass der Publikationsbias bei der Replikationskrise eine Rolle spielt, aber mir fällt es schwer zu glauben, dass es DER Hauptgrund ist. Es ist sicherlich ein Grund. Aber: Publikationsbias ist in der Praxis leicht zu identifizieren und korrigieren. Jede Meta-Studie kann Publikationsbias mittels dem Egger’s Test finden und anschließend mittels Trim-And-Fill korrigieren. Es ist ein recht simples und intuitives statistisches Verfahren. Wäre der Publikationsbias der Hauptgrund, wäre man dem nicht nur schnell auf die Schliche gekommen, sondern hätte ihn auch leicht bereinigen können. Es muss noch andere Gründe geben.

Bei diesen anderen Gründen wird oft auf unlautere statistische Methoden verwiesen. Hier Tipps, wie man Signifikanz für Effekte bekommt, die gar nicht existieren. Leider so oft angewandt in der Psychologie.

  • Multiple Hypothesen gleichzeitig untersuchen oder, noch besser, ohne Hypothesen das komplette Datenset abgrasen = Fischen nach Effekten ***
  • Uncoole Ausreißer / Datenpunkte entfernen = P-Hacking
  • Datensammlung einstellen, sobald die gewünschte Signifikanz auftaucht
  • Datenset einfach komplett erfinden

Woran es auch liegen mag. Wichtig ist die Replikationskrise nicht nur aus statistisch-wissenschaftlicher Perspektive zu sehen. Es ist kein Kavaliersdelikt, kein Verbrechen ohne Opfer. Opfer sind psychisch kranke Menschen, die sich auf die Arbeit der Forscher stützen müssen. Arbeit, die sich leider nur in einem von drei Fällen überhaupt replizieren lässt. Inakzeptabel aus wissenschaftlicher Perspektive, aus menschlicher Perspektive aber eine wahre Katastrophe.

Glücklicherweise haben viele Journale reagiert. Experimente werden jetzt vorregistriert und nach Durchführung veröffentlicht, unabhängig von der Signifikanz des Ergebnisses. So wird dem Publikationsbias keinen Raum gegeben. Da die Registrierung auch Sample Size enthält, entfällt der Trick mit verfrühter Einstellung der Datensammlung. Und die zu testenden Hypothesen sind dort auch schon aufgeführt, was dem Fischen nach Effekten einen Strich durch die Rechnung macht. Von der Vorregistrierung darf man also eine massive Besserung erwarten.

* Genauer müsste man hier auch als Variable anfügen, wie groß der Anteil q an existenten Effekten an der Gesamtzahl der gestesteten Effekten ist. Die Rechnung, so wie sie hier gemacht ist, nimmt 50/50 an. Wer andere Szenarien testen möchte, kann P(Effekt existiert gegeben Effekt festgestellt) = q*s/(q*s+(1-q)*a) verwenden.

** Die tatsächliche Replikationsrate ist etwas geringer als die prinzipielle Replizierbarkeit, da keine Replikationsstudie perfekt ist, jede ein von Null verschiedenes Signifikanzniveau und eine von 1,0 verschiedene Trennschärfe hat. Die Replikationsrate liegt bei etwa (Trennschärfe von Replikationsstudie)*(Replizierbarkeit). Bei Replikationsstudien mit hoher Trennschärfe darf man den Unterschied jedoch ignorieren.

** So eine Herangehensweise lässt sich auch ordentlich machen, sie ist nicht prinzipiell problematisch, jedoch benötigt sie a) Erwähnung aller gemachten Tests und b) Korrektur des Signifikanzniveaus gemäß den Anzahl Tests

L-Carnitin – Schäbige Forscher, Guter Effekt

Schaut man sich die Meta-Analyse zur antidepressiven Wirkung von L-Carnitin an, so sieht man einen ziemlich deutlichen Publikationsbias. Die Meta-Studie geht darauf kaum ein und ist somit nicht die Bytes wert, auf der sie gedruckt ist. Es ist klar zu erkennen, dass die Forscher hier auf ein spektakuläres Ergebnis und Prestige aus sind. Die Wahrheitsfindung musste sich hinten anstellen. Was sehr schade ist, da eine konservative Neuberechnung durchaus für L-Carnitin spricht.

Was heißt konservative Berechnung?

  • Nur die größten RCTs in die Analyse aufnehmen
  • Ausreißer nach oben entfernen
  • Mittels Trim-And-Fill Methode den Publikationsbias ausgleichen

Ich habe die Meta-Analyse nochmal durchgeführt mit folgenden Änderungen:

  • Alle Studien mit einer Varianz größer als 0,1 entfernt, so dass nur verlässliche RCTs bleiben. Es bleiben so vier RCTs übrig.
  • Es gab einen RCT, den man als schwacher Ausreißer nach oben einstufen könnte. Ein Grenzfall. In der ersten Berechnung haben ich ihn belassen, in einer zweiten Berechnung die dort gefundene Effektstärke dreist halbiert
  • Gemäß Trim-And-Fill habe ich ein RCT unter dem Mittel hinzugefügt

Das ist alles sehr konservativ, aber zumindest bekommt man so ein Ergebnis, bei dem keine Gefahr besteht, dass die gewichtete Effektstärke von kleinen Studien oder dem Publikationsbias verzerrt wird. Das Ergebnis, berechnet nach dem Random-Effects-Models (ebenso eine konservativere Wahl als das Fixed-Effects-Model), ist ernüchternder als das spektakuläre Ergebnis der Autoren, aber definitiv realistischer und verlässlicher.

Ohne Anpassung des potentiellen Ausreißers:

d = 0,35 [0,12, 0,58] und p < 0,01

Mit Anpassung des potentiellen Ausreißers:

d = 0,27 [0,04, 0,50] und p < 0,05

Die antidepressive Wirkung bleibt also auch unter Verwendung höherer Standards signifikant und wäre demnach im Bereich von Omega-3 (d = 0,34, nach Bias-Korrektur d = 0,26) und probiotischen Supplements (d = 0,28, nach Bias-Korrektur d = 0,21). Dieses Ergebnis sollte optimistisch stimmen und es ist auch jenes Ergebnis, das im Abstrakt stehen sollte.

Wieso steht das nicht dort? Die Wissenschaft bietet leider verquere Anreize. Die meisten Journale, nicht nur die kleinen Nischenjournale, sondern explizit auch die größten Journale eines Feldes, veröffentlichen praktisch nie insignifikante Ergebnisse. Und unter den signifikanten Ergebnissen werden vor allem jene bevorzugt, die eine besonders hohe Effektstärke zeigen. Wer sich einen Namen machen will, braucht laute Ergebnisse. d = 1,10 klingt bombastisch. d = 0,27 ist ehrlich, lässt aber keine Herzen höher schlagen.

Wer mir nicht glauben will, dass das Problem so dramatisch ist, wie hier dargestellt, dem sei das Reproducibility Project ans Herz gelegt. Natürlich ist es nicht nur Publikationsbias, sondern auch unehrliche statistische Methoden (P-Hacking, Fischen nach Effekten, Vorzeitige Einstellung der Datensammlung, liberaler Umgang mit unbequemen Ausreißern). Aber am Ende bleibt ein Feld, bei dem sich nur einer von drei Effekten überhaupt reproduzieren lässt. Ein niederschmetterndes Fazit für ein Feld, das sich gerne selbst als Wissenschaft bezeichnet.

Die verlinkte Meta-Studie ist absolut keine Ausnahme. Viele Meta-Studien arbeiten den Publikationsbias mechanisch ab, weisen darauf hin, geben aber keine Einschätzung der Tragweite und produzieren keinen Funnel-Plot. Viele andere Meta-Studien bieten eine ordentliche Analyse dazu und liefern auch ein korrigiertes Mittel, aber dieser wird nie im Abstrakt berichtet. Im Abstrakt bleibt das unkorrigierte Mittel, welches dann von anderen zitiert und in der Praxis oft ungeprüft übernommen wird.

Wer eine Meta-Studie liest, dem sei folgendes ans Herzen gelegt:

  • Nie dem Abstrakt trauen
  • Den ersten Blick immer auf den Abschnitt über Bias
  • Was dort zu sehen sein soll: ein korrigiertes Mittel und ein Funnel-Plot. Dieses korrigierte Mittel ist die tatsächliche Effektstärke, nicht das, was im Abstrakt steht
  • Kein korrigiertes Mittel vorhanden? Die gefundene Effektstärke gedanklich durch drei teilen. Die tatsächliche Effektstärke dürfte wohl dort irgendwo liegen
  • Meta-Regressionen laufen leider i.d.R. nach dem Prinzip “Fischen nach Effekten” (1) und das auf Basis weniger Datenpunkte. Nur begrenzt Glauben schenken

Aus Gründen der Transparenz, hier zum Nachrechnen meines Ergebnisses. Die vier RCTs, der Meta-Studie entnommen, und der mittels Trim-And-Fill hinzugefügte RCT*. Erwähnt ist die Effektstärke, Varianz und Random-Effects-Varianz.

,600 ,100 ,180
,140 ,100 ,180 *
,100 ,065 ,145
,800 ,065 ,145
,200 ,040 ,120

Mit dreister Anpassung des potentiellen Ausreißers **

,600 ,100 ,180
,140 ,100 ,180 *
,100 ,065 ,145
,400 ,065 ,145 **
,200 ,040 ,120

(1) Das sieht man sogar oft ganz wundervoll an der Formulierung der Vorgehensweise bei den Meta-Regressionen: “We tested whether X”, “We then testet if Y”, ” We also looked at whether Z”, etc … Klassisches Fischen nach Effekten. Die korrekte Herangehensweise wäre: Vor den Meta-Regressionen Hypothesen formulieren (z.B. Dose-Response) und nur diese testen. Es ist bizarr, dass Fischen nach Effekten in der Regel verpöhnt ist, bei den Meta-Regressionen jedoch ganz offen betrieben wird.

Publikationsbias und L-Carnitin

Ich bin etwas enttäuscht. Vor ein paar Monaten hatte ich diese Meta-Studie entdeckt und habe daraufhin angefangen L-Carnitin zu nehmen. Die Studie stellt basierend auf einer vernünftigen Datenlage (neun kontrollierte Experimente mit > 400 Probanten) eine starke antidepressive Wirkung von L-Carnitin fest. Zu stark, wenn man es in bekannte Effektstärken einordnet, das macht schon stutzig. Therapien wie CBT und MBT schaffen eine Reduktion depressiver Symptome um d = 0,5 bis d = 0,7. Mittel der Nahrungsergänzung mit gesicherter antidpressiver Wirkung und exzellenter Datenlage (Omega-3, Probiotisch) schaffen um die d = 0,2 bis d = 0,3. Laut der Meta-Studie bringt L-Carnitin eine Reduktion von d = 1,1. Das wäre deutlich effektiver als jede Therapie und jede andere Nahrungsergänzung. Unrealistisch hoch. Und schaut man sich die Daten genauer an, sieht man auch schnell, woher dieses Resultat kommt. Wie so oft ist der Täter Publikationsbias. Experimente mit Nullresultat oder gar negativem Resultat zu der antidepressiven Wirkung von L-Carnitin sind systematisch in den Schubladen der Forscher verschwunden. Das ist ein schwerer Vorwurf, lässt sich aber überraschend leicht zeigen.

Wie findet man Publikationsbias? Es klingt zuerst nach einer unlösbaren Aufgabe. Woher soll man wissen, welche Studien nicht veröffentlicht wurden? Sie stehen in keinem Journal, die Ergebnisse lassen sich nirgendwo nachlesen. Mit etwas Glück findet man eine Registrierung der Studie ohne folgende Veröffentlichung und kann direkt bei den Forschern anfragen. Das ist viel Aufwand und es gibt keine Garantie, dass sich eine solche Registrierung finden lässt. Trotzdem hinterlässt die Abwesenheit diese Studien sehr klare Spuren.

Man kann (und sollte) alle gefundenen Experimente zu einem Thema in einem Unsicherheits-Effektstärke-Diagramm eintragen. Jedes Experiment endet mit einer Effektstärke und einer Unsicherheit, die sich aus der Studiengröße ergibt. Je mehr Probanten das Experiment enthält, desto kleiner die Unsicherheit der gefundenen Effektstärke. So sieht das resultierende Diagramm typischerweise aus, wenn die Forscher alle Experimente zu einem Thema veröffentlichen, unabhängig davon, ob das Resultat positiv, neutral oder negativ war. Das ist ein sogenannter Funnel-Plot, hier über eine Simulation produziert.

Was man darauf sieht, ist sehr logisch und einfach. Kleine Studien mit hoher Unsicherheit (Punkte rechts) weichen oft stark von der tatsächlichen Effektstärke ab. Statt der echten Effektstärke von d = 0,5 finden sie Werte von -0,5 bis 1,5. Das ist normal. Je größer aber die Studien (und somit je kleiner die Unsicherheit), desto mehr konvergieren die gefunden Effektstärken gegen die reale Effektstärke. Sehr große Studien mit sehr kleiner Unsicherheit (Punkte links) liegen entsprechend allesamt recht nah an dem Wert d = 0,5. Ohne Publikationsbias sieht man eine recht symmetrische Streuung um diese reale Effektstärke. Viele liegen darüber, viele darunter, aber es hebt sich grob auf. Und so kommt man bei der Bildung des Mittelwerts über alle Studien auch gut zu der realen Effektstärke. Kein Problem. Manchmal (leider recht oft) sieht es aber so aus:

Betrachtet man nur die größten Studien links, würde man wieder einen Mittelwert um die d = 0,5 vermuten. Die Streuung nach unten fehlt jetzt aber. Kleinere Studien weichen wie gewohnt stärker von diesem Mittelwert ab, aber zu den Studien mit stark positiven Ergebnissen (das bringt Prestige) gibt es keine Gegenstücke (das bringt kein Prestige). Forscher und Journale veröffentlichen lieber ein Ergebnis “Beeindruckender Effekt gefunden” als “Hier gibt es nichts zu sehen”. Das Problem daran ist, dass der Mittelwert über alle Studien nun stark von dem realen Effekt abweicht. Statt d = 0,5 berichtet die Meta-Studie d = 0,8.

Die gute Nachricht ist, wie man an den Graphen erkennen kann, dass es sehr einfach ist zu sehen, ob Studien verschwunden sind, selbst wenn man die einzelnen Studien nie finden könnte. Größere Studien konvergieren IMMER zur realen Effektstärke, kleinere Studien streuen IMMER weit davon und somit ergibt sich ohne Publikationsbias IMMER eine gefüllte Trichterform. Fehlt etwas unter jenem Mittelwert, den man durch die größten Studien vermutet, sind definitiv Studien in der Schublade gelandet. Ein schneller und schmerzfreier Ansatz zum Testen auf Publikationsbias ist also: Mittelwert aus den größten Studien berechnen, Linien anlegen, Kopf einschalten.

Ich habe aus der Meta-Studie zu L-Carnitin alle Effektstärken und Unsicherheiten rausgeschrieben und in SPSS eingetippt. Aus den größten drei Studien ergibt sich eine mittlere Effektstärke von d = 0,37. Weit unter dem Mittel über alle Studien von d = 1,1. Diesen Mittelwert habe ich einzeichnen lassen und dann auf Sicht die Trichtergrenzen angelegt (diese sind nicht super-wichtig, machen die visuelle Interpretation aber einfacher). So sieht es aus:

Ein Ergebnis wie aus einem Lehrbuch zu Publikationsbias. Man erkennt, dass die größten Studien zu einem geminsamen Mittelwert konvergieren, so wie es sein sollte. Die kleineren Studien liegen hingegen systematisch ÜBER dem Mittelwert der größten Studien. Es ist also nicht überraschend, dass wenn man naiv den Mittelwert über alle gefundenen Studien bildet (nach dem Fixed-Effects-Model), man ein spektakuläres Ergebnis wie d = 1,1 erhält. Dieser optimistische Wert lässt sich aber überhaupt nicht vereinen mit den Ergebnissen der größten Studien sowie dem Fakt, dass diese Studien recht gut zu einem kleineren Wert konvergieren. Die Effektstärke d = 1,1 ist schlicht eine Inflation, eine Folge davon, dass viele Studien mit Nullresultat oder negativem Resultat in den Schubladen verschwunden sind und somit in der Analyse fehlen. Gemäß den größten Studien liegt der reale Effekt irgendwo zwischen d = 0,0 und 0,6, also irgendwo zwischen “kein Effekt” und “moderater Effekt”.

Es könnte durchaus ein Effekt übrig bleiben, sogar einer, der sich im Vergleich zu der Wirkung von Therapien und anderer Ergänzungsmittel gut sehen lassen kann. Es lohnt sich, L-Carnitin weiter auf dem Radar zu haben, vor allem da die vermutete antidepressive Wirkung nur ein Teil der gesamten positiven Wirkung des Stoffes ist. Aber nach Berücksichtigung des Publikationsbias lautet das Ergebnis der Experimente: Antidepressive Wirkung unklar, mehr Daten benötigt. Das ist ein gutes Stück entfernt von “besser als alles bekannte”, daher die Enttäuschung.

Es hat sich hier definitiv gelohnt, den Kopf einzuschalten. Die naive Berechnung nach dem Fixed-Effects-Model, eine Methode zur Zusammenfassung von vielen Effektstärken und Unsicherheiten zu einem gemeinsamen gewichteten Mittelwert und einem gemeinsamen Unsicherheitsintervall, funktioniert ganz wundervoll, wenn man eine Trichterform vorliegen hat. Ist das nicht gegeben, müssen immer die größten Experimente als Orientierung dienen und das berechnete gewichtete Mittel mittels der Trim-And-Fill-Methode korrigiert werden.

Jede Meta-Studie produziert den Funnel-Plot und stellt, wenn nötig, Publikationsbias fest. Das gehört zum guten Ton. Aber nicht immer wird ein korrigiertes Mittel angegeben und noch seltener (eigentlich nie), wird statt dem naiven Mittel das korrigierte Mittel im Abstract angegeben. Das ist ein großes Problem, denn sofern man nicht besonderes Interesse an einem Thema hat, belässt man es i.d.R. beim Lesen des Abstracts und traut den berichteten Werten. Wie man oben sieht, kann man stark daneben liegen, wenn man den Wert aus dem Abstract ungeprüft übernimmt. In Meta-Studien sollte der erste Blick immer zum Funnel-Plot und korrigierten Mittel wandern. Dort sieht man das, was dem realen Mittel am nächsten kommt.

Antidepressive Nahrungsergänzung

Ich hatte schon mal über das Thema geschrieben, aber wollte es doch noch genauer wissen und habe deshalb die Suche systematischer und nachprüfbarer gestaltet. Es folgt eine Übersicht über alle Meta-Studien zu Nahrungsergänzungsmittel, denen eine antidepressive Wirkung nachgesagt wird.

Erstmal sehr knapp und auf einen Blick:

NahrungsergänzungsmittelEffektstärkeStudienumfangDatenqualität
Omega-3d = 0,34235 RCTs / 7900 ProbantenSehr gut
Probiotischd = 0,2882 RCTs / 2300 ProbantenSehr gut
Kurkumad = 0,4926 RCTs / 800 ProbantenMäßig
Safrand = 1,0343 RCTs / 1600 ProbantenSchlecht
L-Carnitind = 1,1012 RCTs / 800 ProbantenSchlecht

Zur Einordnung der Effektstärken: CBT bringt eine Reduktion depressiver Symptome von d = 0,70 (basierend auf 9000 Probanten), Mindfulness-Interventionen bringen d = 0,52 (basierend auf 5300 Probanten) und Fitness-Interventionen d = 0,58 (basierend auf 4200 Probanten).

Sehr gut empirisch gesichert ist demnach die antidepressive Wirkung von Omega-3 (sofern die Formulierung EPA-reich ist und die Dosis hoch) und probiotischer Mittel. Die Effektstärke liegt zwar ein gutes Stück unter dem Gold-Standard, kann sich aber trotzdem gut sehen lassen, vor allem vor dem Hintergrund der Verfügbarkeit und einfachen Implementation. Kurkuma zeigt eine etwas höhere Effektstärke, jedoch ist die Datenlage noch relativ überschaubar und es findet sich ein mäßig-starker Publikationsbias. Man darf die antidepressive Wirkung als gesichert ansehen, sollte aber die Effektstärke mit Vorsicht genießen. Vermutlich wird die tatsächliche Effektstärke auch in der Umgebung von Omega-3 und probiotischen Mitteln liegen.

Noch mehr Vorsicht sollte man bei Safran und L-Carnitin walten lassen. Die Effektstärken sind unrealistisch hoch und die Meta-Studien zeigen sehr umfassende Hinweise auf Publikationsbias. Bei Safran kommt hinzu, dass die meisten der RCTs aus einem einzelnen iranischen Institut kommen. Jedoch bleibt bei beiden Mitteln nach Bias-Korrektur mittels der Trim-And-Fill Methode ein signifikanter Effekt übrig. Ein Versuch ist es also allemal Wert.

Hier alle Meta-Studien zu Omega-3 inklusive Link. Der Mittelwert ist gewichtet nach der Wurzel der Probantenzahl (und somit proportional zum vermuteteten Standardfehler). Subgruppenanalysen zeigen desöfteren, dass für eine antidepressive Wirkung das Mittel anteilig sehr viel EPA enthalten muss und hochdosiert sein soll. Ist das gegeben, kann man von Effektstärken gut über dem gewichteten Mittel von d = 0,34 ausgehen.

RCTs / ProbantenJahrEffektstärkeLink
35 / 110002018g = 0,31https://www.cambridge.org/core/journals/the-british-journal-of-psychiatry/article/efficacy-of-omega3-highly-unsaturated-fatty-acids-in-the-treatment-of-depression/0BA58661B400602D20E7CEE34B17BAE7
312019d = 0,15https://ueaeprints.uea.ac.uk/id/eprint/72390/
282008d = 0,29https://www.tandfonline.com/doi/abs/10.1080/07315724.2009.10719785
26 / 21602019d = 0,28https://www.nature.com/articles/s41398-019-0515-5
192014d = 0,38https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0096905
15 / 9202010d = 0,53https://www.psychiatrist.com/jcp/depression/meta-analysis-effects-eicosapentaenoic-acid-epa-clinical/
13 / 7312012d = 0,01https://www.nature.com/articles/mp2011100
13 / 12332016d = 0,40https://www.nature.com/articles/tp201629
12 / 5542006d = 0,47https://europepmc.org/article/med/19752840
10 / 3292006d = 0,61https://brainnutrient.securearea.eu/Files/2/42000/42087/PageHomeDownloadDocs/8867_nl.pdf
10 / 9102020d = 0,91https://bmcpsychiatry.biomedcentral.com/articles/10.1186/s12888-020-02656-3
92018d = 0,20https://www.sciencedirect.com/science/article/abs/pii/S0165032718306220
82016g = 0,61https://ajp.psychiatryonline.org/doi/full/10.1176/appi.ajp.2016.15091228
8 / 6382020d = 0,65https://www.nature.com/articles/s41398-020-00886-3
6 / 46102018g = 0,12https://www.sciencedirect.com/science/article/abs/pii/S027153171730502X
n = 12200
Weighted
d = 0,34

Hier die Studien zu probiotischen Mitteln. Subgruppenanalysen zeigen, dass der Effekt für depressive Probanten stärker ist. Bei depressiven Probanten ergeben sich Effektstärken weit über dem Mittel von d = 0,28. Hinweise auf Publikationsbias findet keine der Meta-Studien, zumindest keine, bei der die Analyse zugänglich war.

RCTs / ProbantenJahrEffektstärkeBias?Link
342019d = 0,24LOWhttps://www.sciencedirect.com/science/article/abs/pii/S0149763419300533
19 / 19002019d = 0,31https://www.sciencedirect.com/science/article/abs/pii/S0165178119312156
10 / 13502018d = 0,13LOWhttps://www.sciencedirect.com/science/article/abs/pii/S016503271731488X
72017d = 0,34https://www.liebertpub.com/doi/abs/10.1089/acm.2016.0023
7 / 2002020d = 0,48LOW-MIDhttps://www.ncbi.nlm.nih.gov/pmc/articles/PMC7257376/
7 / 4002021d = 0,00https://www.mdpi.com/2077-0383/10/4/647
52016d = 0,30LOWhttps://www.mdpi.com/2072-6643/8/8/483
n = 2300
Weighted
d = 0,28
LOW

Hier die Meta-Studien zu Kurkuma:

RCTs / ProbantenJahrEffektstärkeBias?Link
10 / 5902021d = 0,32MIDhttps://www.sciencedirect.com/science/article/abs/pii/S0165032720332481
10 / 5302019g = 0,75MIDhttps://www.tandfonline.com/doi/abs/10.1080/10408398.2019.1653260
6 / 3802016d = 0,34LOWhttps://www.sciencedirect.com/science/article/abs/pii/S1525861016306752
n = 800
Weighted
d = 0,49
MID

Weiter mit Safran. Die größte Studie enthält Hinweise auf massiven Publikationsbias. Man sollte davon ausgehen, dass viele Safran-Studien mit negativem Ergebnis in den Schubladen verschwunden sind. Entsprechend bleibt unklar, wie es um die antidepressive Wirkung von Safran tatsächlich steht.

RCTs / ProbantenJahrEffektstärkeBias?Link
23 / 12402019g = 0,99HIGHhttps://academic.oup.com/nutritionreviews/article/77/8/557/5499264?login=true
112019g = 0,89https://pubmed.ncbi.nlm.nih.gov/30036891/
72018d = 1,22LOWhttps://www.ncbi.nlm.nih.gov/pmc/articles/PMC5967372/
22013d = 1,62https://www.sciencedirect.com/science/article/abs/pii/S2095496414601412
n = 1600
Weighted
d = 1,03
HIGH

Und last but not least L-Carnitin. Hier gibt es bisher nur eine Meta-Studie zur antidepressiven Wirkung und diese enthält Hinweise auf einen mäßigen Publikationsbias. Leider auch eine unklare Lage.

RCTs / ProbantenJahrEffektstärkeBias?Link
12 / n = 7902018d = 1,10MIDhttps://pubmed.ncbi.nlm.nih.gov/29076953/

Was die Dosierung angeht sollte man am besten einen Blick darauf werfen, wie das Mittel in den RCTs dosiert wurde. Das ein oder andere lässt sich (zumindest kurzfristig) mit mehr “Wumms” einsetzen als die oftmals recht konservativen Angaben der Hersteller hergeben. Als wirkliche Alternative zu einem SSRI kann wohl keines dieser Mittel dienen, jedoch ist etwas besser als nichts.

Wer Träumt? Und Wer Träumt Nicht?

Die wichtigste und empirisch am besten gesichterte Erkenntnis der Traumforschung der letzten 50 Jahre ist die Kontinuitätshypothese: Träume sind eine Inszenierung der Ideen, Sorgen und Interessen des Wachlebens. Diese Hypothese ist im Prinzip das Newtonsche Gesetz der Traumforschung. Sie wurde vielfach experimentell getestet und hat, im Gegensatz zu den anekdotischen Thesen von Freud und Jung, der akribischen Prüfung standgehalten. Auch einem Test an einem Datensatz mit n = 524 Teilnehmern aus dem Harvard Dataverse hält sie erstaunlich gut stand.

Sorgen des Wachlebens ergeben sich zu einem großen Teil aus unerfüllten Bedürfnissen, welche man, säuberlich kategorisiert und der Wichtigkeit nach gestuft, der Maslowschen Bedürfnispyramide entnehmen kann. Eine Regression zeigt, dass der wichtigste Faktor beim Träumen soziale Bedürfnisse (gemäß Maslow) sind. Unter jenen, die sich häufig Sorgen über die Erfüllung ihrer sozialen Bedürfnisse machen, berichten etwa 80 % von fast täglichen, intensiven Träumen. Unter jenen, die solche Sorgen nicht haben, sind es nur knapp 20 %. Der Effekt ist sehr stark, mit einem standardisierten Regressionskoeffizienten ß = 0,36 und p < 0,001. Soziale Sorgen erhöhen die Wahrscheinlichkeit für intensives Träumen um den Faktor Vier.

An zweiter Stelle stehen Sorgen um Sicherheitsbedürfnisse. 70 % der Leute, die sich um ihre Sicherheitsbedürfnisse sorgen, erleben tägliche, intensive Träume. Unter jenen, bei denen diese Bedürfnisse in solcher Weise erfüllt sind, dass sich Sorgen erübrigen, sind es nur 20 %. Wieder ein starker Effekt mit ß = 0,20 und p < 0,001.

Nicht überraschend ist der Zusammenhang mit dem Persönlichkeitsmerkmal Offenheit / Intellekt, wobei dieser nicht die Kontinuitätshypothese berührt. Offene Menschen sind u.a. charakterisiert durch viel Kreativität und Vorstellungskraft. Dies übersetzt sich auch in intensivere Träume. Unter jenen, die den höchsten Score auf der Skala erzielen, berichten 55 % von täglichen, intensiven Träumen. Am unteren Ende der Skala sind es nur 15 %. Ein moderater Effekt mit ß = 0,17 und p < 0,001.

Daneben spielt auch der Konsum psychoaktiver Substanzen eine Rolle, ß = 0,20 und p < 0,001. Streng genommen wurde in der Umfrage bezüglich psychoaktiver Stoffe nur nach Alkohol, Cannabis und Antidepressiva gefragt, wobei jedes davon einen ähnlich großen traumförderlichen Effekt zeigt. Man darf aber vermuten, dass dies auch für andere deutlich psychoaktive Stoffe gilt. Für wenig psychoaktive Stoffe wie Koffein oder Nikotin zeigt sich kein Einfluss auf das Träumen.

Die Ergebnisse zeigen sehr deutlich, wie die Sorgen des Wachlebens, vor allem jene um die Erfüllung der Bedürfnisse gemäß Maslow, das Träumen antreiben. Eine gute Interpretation eines Traumes a) stellt diese Verbindung her und b) zieht Lehren daraus. Von einer Diskontinuität des Denkens beim Einschlafen sollte man nicht ausgehen. Man beschäftigt sich weiter mit jenen Themen, mit denen man sich auch im Laufe der Tage beschäftigt, jedoch in einer anderen Sprache. Der ungewohnte (symbolische) Ansatz des Weiterdenkens ist womöglich nur ein Folge davon, dass bestimmte Areale des Gehirns, vor allem jene, die Logik und Grammatik berühren, im Schlaf ausgeschaltet sind. So bleibt nur die Sprache symbolischer Bilder und Töne.

Es gibt noch einen wichtigen Punkt anzufügen: Es gibt keine positiven oder negativen Träumer. Die Korrelation zwischen Träumen und Alpträumen ist sehr eng. Man kann nicht viel träumen ohne Alpträume. Und wer fast nie Alpträume hat, der träumt auch nicht viel. Diese Erkenntnis aus dem Datensatz deckt sich mit dem Ergebnis der Traumforschung, dass sich positive und negative Emotionen in Träumen im Großen und Ganzen aufwiegen. Und Träume somit auch eine emotionsregulierende Funktion erfüllen.

P.S. Menschen, die angeben den Tag über sehr beschäftigt zu sein, scheinen auch etwas intensiver zu träumen. Der Effekt ist gut signifikant, jedoch relativ schwach (ß = 0,10 und p < 0,01). Fraglich, ob sich das replizieren ließe.

Häufigkeit von Personen in Träumen (DreamBank)

Über die Plattform DreamBank kann man schnell und einfach zehntausende Traumberichte durchsuchen, welche in akademischen Studien gesammelt wurden. Die Plattform wurde errichtet von George Domhoff, Professor für Psychologie und Soziologie an der University of California (Santa Cruz) und einer der führenden Namen in der evidenzbasierten Traumforschung. Mich hat interessiert, mit welcher Häufigkeit bestimmte Personen, Personenkonzepte und Personenrollen in Träumen vorkommen. Hier das Ergebnis, basierend auf 13.500 Traumberichten (1)

In circa 3 von 4 Träumen:

  • Eine Person, bekannt oder unbekannt (72,5 %)

In circa 2 von 4 Träumen:

  • Eine bekannte Person (41,8 %)

In circa 1 von 4 Träumen:

  • Eine nicht näher bestimmte männliche Person (28,2 %)
  • Eine nicht näher bestimmte weibliche Person (23,1 %)
  • Eine nicht näher bestimmte Gruppe an Personen (26,8 %)
  • Ein oder beide Elternteile (23,1 %)

In circa 1 von 7 Träumen:

  • Die Mutter (14,8 %)
  • Ein oder mehrere Freunde (14,1 %)

In circa 1 von 10 Träumen:

  • Der Vater (10,8 %)
  • Eine nicht näher bestimmte Gruppe an Männern (8,9 %)

In circa 1 von 15 Träumen:

  • Ein Geschwisternteil (6,5 %)
  • Eine nicht näher bestimmte Gruppe an Frauen (6,2 %)

In circa 1 von 20 Träumen:

  • Ein romantischer Partner, bekannt oder unbekannt (5,2 %)

In circa 1 von 25 Träumen:

  • Ein Baby (3,9 %)
  • Ein Bruder (3,6 %)
  • Eine Schwester (3,6 %)
  • Ein Polizist (3,6 %)

In circa 1 von 40 Träumen:

  • Ein Lehrer (2,4 %)

In circa 1 von 60 Träumen:

  • Ein Großelternteil (1,7 %)
  • Eine Tante (1,6 %)

In circa 1 von 80 Träumen:

  • Ein Onkel (1,4 %)
  • Ein Arzt (1,4 %)
  • Ein Teenager (1,3 %)
  • Eine Großmutter (1,2 %)
  • Eine unbekannte alte Person (1,2 %)
  • Ein Nachbar (1,2 %)

In circa 1 von 120 Träumen:

  • Ein Zombie (0,9 %)
  • Ein Vorgesetzter (0,9 %)
  • Ein Großvater (0,8 %)

In circa 1 von 140 Träumen:

  • Ein Mörder (0,7 %)
  • Ein Schauspieler (0,7 %)
  • Ein Mitarbeiter (0,7 %)

In circa 1 von 200 Träumen:

  • Eine Krankenschwester (0,6 %)
  • Ein Anführer (0,5 %)
  • Ein Arbeiter (0,5 %)

In circa 1 von 250 Träumen:

  • Eine Leiche (0,4 %)
  • Ein Geist (0,4 %)
  • Ein Monster (0,4 %)
  • Ein König (0,4 %)
  • Ein Promi (0,4 %)

In circa 1 von 330 Träumen:

  • Ein Soldat (0,3 %)
  • Ein Präsident (0,3 %)

Hinweis: “Ein” heißt hier immer “Ein oder mehrere”. Die Plural-Form wurde in die Suche miteinbezogen.

Gemäß der Kontinuitätshypothese, hier eine fantastische Präzisierung des Begriffs durch Domhoff, reflektieren diese Häufigkeiten wie eingängig sich Menschen im Allgemeinen während des Wachlebens mit diesen Personen und Rollen (und dem, was sie repäsentieren) beschäftigen. Dabei geht es in erster Linie nicht um die objektiv verbrachte Zeit mit einer Person oder Rolle, sondern um die Präsenz in den Gedanken des Wachlebens.

(1) Verwendet wurden die Traumberichte der folgenden sechs Personen: Barb Sanders (n = 3110), Elisabeth (n = 1710), Emma (n = 1220), Izzy (n = 4350), Kenneth (n = 2020), Pegasus (n = 1090). Details zu diesen Personen siehe hier.

Wutgefühle in der Pandemie

Ich habe vorgestern einen neuen Datensatz entdeckt, der interessante Erkenntnisse zum Thema Wutgefühle in der Pandemie bringt. Der Datensatz basiert auf einer Umfrage mit n = 301 Teilnehmern, erhoben in der USA, Erhebungszeitraum Jan 2021, 53 % Männer, Mittleres Alter 37 Jahre, Spanne von 18 bis 83 Jahren. Erstmal das Große und Ganze. Eine der enthaltenen Fragen lautete grob übersetzt: “Wie haben sich bei Ihnen Wutgefühle im Laufe der Pandemie geändert?”. Zur Verfügung standen die Antwortmöglichkeiten “stark reduziert” (-2), “etwas reduziert” (-1), “unverändert” (0), “etwas erhöht” (1) und “stark erhöht” (2).

Nicht alle haben verstärkte Wutgefühle. 16 % berichten, dass sich bei ihnen Gefühle der Wut reduziert haben. Bei 45 % ist die Lage unverändert. Und 39 % haben eine Verstärkung von Wutgefühlen bei sich bemerkt. Im Mittel entspricht das einer klaren Erhöhung. Auf jeden, der reduzierte Gefühle von Wut hat, kommen mehr als zwei, bei denen das Gegenteilige der Fall ist. Welche Faktoren spielen eine Rolle?

Sowohl bei Männern als auch bei Frauen zeigt sich eine statistisch signifikante Erhöhung von Wutgefühlen (95 % Konfidenzintervalle enthält nicht die Null). Ein statistisch signifikanter Unterschied zwischen Männern und Frauen gibt es jedoch nicht (95 % Konfidenzintervalle überlappen sich deutlich). Es scheint also nicht so, als ob das Geschlecht eine Rolle spielen würde.

Auch der Beziehungsstatus hat keinen großen Einfluss. Zwar zeigt sich, im Gegensatz zu den anderen Gruppen, bei Kurzzeitsingles (< 4 Jahre) keine signifikante Erhöhung von Wutgefühlen, aber auch hier überlappen sich Konfidenzintervalle deutlich. Kaum der Rede wert der Effekt.

Die Wohnsituation hat ebenso wenig bis keine Aussagekraft. Meine Vermutung war, dass Menschen, die alleine wohnen, eine etwas stärkere emotionale Reaktion auf die Pandemie zeigen, aber zumindest im Hinblick auf Wutgefühle scheint dies nicht der Fall zu sein. Das Konfidenzintervall der Gruppe “Living with Roommates” ist so groß, weil es in der Umfrage relativ wenige Teilnehmer in dieser Gruppe gab.

Einen signifikanten Trend gibt es beim Sozialisieren. Menschen, die trotz Pandemie regelmäßig Freunde getroffen haben, verspüren weniger Wutgefühle als jene, die sich strenger isoliert haben.

Den gleichen Trend sieht man auch bei Menschen, die sich trotz Pandemie mit der engen Familie getroffen haben. Isolation scheint ein Risikofaktor für erhöhte Wutgefühle zu sein.

Noch deutlicher (man beachte die Zahlenwerte) ist der Einfluss der finanziellen Situation auf Wutgefühle. Menschen, die durch die Pandemie in eine schlechtere finanzielle Situation gerutscht sind, berichten häufiger von verstärkten Wutgefühlen. Das wüsste man wohl auch ohne Datensatz.

Auch bei dem Konsum von sozialen Medien ergibt sich ein ziemlich kräftiger Effekt. Menschen, die mehr Zeit auf Social Media Plattformen verbringen, haben verstärkte Wutgefühle. Das gilt auch sehr knapp für Menschen mit unverändertem Social Media Konsum. Menschen, die seit Anfang der Pandemie weniger Zeit auf Social Media Seiten verbringen, zeigen jedoch keine statistisch signifikante Verstärkung von Wutgefühlen.

Die Veränderung des Gewichts ist ebenfalls assoziiert mit Veränderung von Wutgefühlen. Die wenigen Menschen, die ihr Gewicht stark senken konnten (siehe Länge des Konfidenzintervalls), berichten von reduzierten Wutgefühlen. Ein geringer Gewichtsverlust ist mit unveränderter Wut assoziiert. Unverändertes Gewicht oder Gewichtszunahme mit der Verstärkung von Wutgefühlen.

Dazu später noch etwas mehr, aber erhöhte Wutgefühle korrelieren in dem Datensatz sehr eng mit erhöhten Gefühlen von Angst und Depression. Gerade beim Gewicht stellt sich die Frage nach dem Huhn und dem Ei. Veranlasst die Gewichtszunahme negativere Gefühle? Oder kommen negativere Gefühle und es folgt die Gewichtszunahme? Wahrscheinlich beides zugleich.

Die Persönlichkeit gemäß dem Five Factor Modell wurde ebenfalls in der Umfrage gemessen, mittels einer 10 Item Kurzskala. Menschen, die geringe Werte auf der Agreeableness-Skala erzielen (wenig empathisch, wenig herzlich), zeigen sehr deutlich erhöhte Gefühle von Wut. Bei Menschen mit hoher Agreeableness findet sich eine solche Erhöhung nicht. Viel Empathie scheint zumindest in der Pandemie ein Schutz vor Wutgefühlen zu sein.

Menschen mit hohen Werten von Conscientiousness (ordentlich, gut organisiert, verlässlich) kommen in der Pandemie auch besser weg. Conscientiousness zeigt sich als solider Schutzfaktor vor Wutgefühlen.

Der im Hinblick auf Effektstärke wichtigste Faktor ist Neuroticism (emotional labil, depressiv). Je neurotischer eine Person, desto deutlicher die Verstärkung von Wutgefühlen. Ich habe auf einen Sättigungseffekt gehofft. Da emotional labile Menschen schon im Alltag viele Gefühle von Wut zeigen, könnte man vermuten, dass bei ihnen die der Anstieg nicht ganz so extrem ist. Etwa weil eine Sättigungsgrenze erreicht ist. Das ist aber definitiv nicht der Fall. Es gilt: Wer vorher schon oft negative Gefühle hatte, bei dem hat die Pandemie diese Gefühle verstärkt. Wer diese Gefühle vorher sehr selten hatte, hat sie in der Pandemie sogar noch seltener. Das Merkmal Neurotizismus hat sich schlicht extremer ausgeprägt in der Pandemie.

Bezüglich Alter zeigen sich erhöhte Wutgefühle vor allem bei Menschen mittleren Alters. Das erinnert an die U-Kurve des Glücks. Junge und alte Menschen sind in Umfragen typischerweise am glücklichsten, Menschen zwischen 30-50 am unglücklichsten. Das scheint auch hier gut zu passen.

Wie schon angemerkt korrelieren alle negativen Gefühlen in der Umfrage eng miteinander. Wer aufgrund der Pandemie verstärkte Wutgefühle verspürt, verspürt mit hoher Wahrscheinlichkeit auch gleichzeitig erhöhte Gefühle von Stress, Angst und Depression. Und wer wenig von einem spürt, spürt i.d.R. auch wenig von allen anderen. Die Korrelation ist so eng, dass man die vier Variablen als eine Skala auffassen könnte (mit Cronbach’s Alpha = 0,84).

Ein Regressionsmodell auf Basis aller Variablen des Datensatzes liefert folgendes Ergebnis (dritte weiße Spalte der standardisierte Regressionskoeffizient, letze Spalte der p-Wert):

Jetzt wird die Formulierung etwas umständlich: Der Großteil der erklärbaren Varianz in der Variable “Wutgefühle” wird durch Neurotizismus erklärt (20 % der gesamten Varianz und 74 % der erklärbaren Varianz). Ist die Variable “Wutgefühle” erstmal danach bereinigt, bleiben nur noch relativ schwache Effekte der anderen Variablen übrig (7 % der gesamten Varianz und 26 % der erklärbaren Varianz). Das Meiste, was man in den obigen Graphen sieht, scheinen also Nebeneffekte von erhöhtem Neurotizismus zu sein. Was leider auch heißt, dass es schwer ist in der Pandemie Abhilfe zu finden, sollte der Neurotizismus hoch sein. Man muss schon Gewichtsverlust, Freunde und Abstinenz von sozialen Medien kombinieren, um die Wirkung von erhöhtem Neurotizismus ausgleichen zu können. Wobei bessere Abhilfen natürlich CBT & SSRI sind.

Soviel ich gehört habe, gehen Fachärzte (im Wissen um die Wirkung der Pandemie und Überschaubarkeit der verfügbaren Therapieplätze) gerade recht liberal mit SSRI um. Wenn es doch kein SSRI sein soll, dann gibt es auch Alternativen aus der Nahrungsergänzung, die ich hier zusammengefasst habe. Die Effektstärken dieser Mittel kommen definitiv nicht an SSRI heran, können sich aber sehen lassen. Wer keine Lust hat, das alles zu lesen, kann sich einfach folgendes beschaffen: Omega-3 (> 60 % EPA, > 1,5 g pro Tag), probiotische Ergänzung inkl. Inulin, L-Carnitin (> 1,5 g pro Tag), Safran (30 mg Extrakt pro Tag, eventuell geht auch 45-60 mg). Die anti-depressive Wirkung dieser Mittel ist solide durch Meta-Studien belegt.

Körpergröße bei Männern als psychologischer Faktor

Gibt es einen Unterschied in der Persönlichkeit zwischen kleineren und größeren Männern? Bevor ich eine (nicht DIE) Antwort gebe, erstmal ein Wort zur Interpretation statistischer Unterschiede. Die Aussage “Frauen sind empathischer als Männer” ist korrekt, jedoch handelt es sich hier um eine Aussage über die Mittelwerte der beiden Gruppen, keine Aussage über bestimmte Individuen. Die richtige Interpretation der obigen Aussage ist: Wählt man zufällig eine Frau und einen Mann, dann ist die Wahrscheinlichkeit, dass die zufällig gewählte Frau einen höheren Wert auf der Empathie-Skala erzielt als der Mann, größer als 50 % (der genaue Wert ist 60 %). Bei zehn zufälligen Ziehungen würde man also erwarten, dass in sechs Fällen die Frau empathischer ist und in vier Fällen der Mann. Auf diese Weise sind auch alle folgenden Unterschiede zu interpretieren. Es geht nie um Individuen, sondern immer um Unterschiede im Mittel.

Jetzt, wo Einigkeit über die Interpretation besteht, hier ein Unterschied, der deutlich zu Tage kommt in dem Datensatz (n = 254): Kleinere Männer sind im Mittel empfänglicher für eine große Bandbreite psychischen Problemen als große Männer. Ich mache den Anfang beim Selbstbewußtsein. In der Gruppe der Männer, die sich im Bereich 160 cm Körpergröße bewegen, berichten knapp 65 % (2 von 3) von einem geringen Selbstbewußtsein. In der Gruppe der Männer um 185 cm sind es nur 35 % (1 von 3). Der Übergang scheint recht kontinuierlich zu sein.

Kleinere Männer scheinen auch empfänglicher für praktisch alle Arten von Ängsten zu sein. Die Skala unten ist eine Zusammenfassung typischer Phobien (Flugzeug, Achterbahn, Sozial, und so weiter). Die Effektstärke ist beachtlich. Zur Einordnung: Eine effektive Psychotherapie wie z.B. CBT kann Symptome um 1 bis 1,5 Standardabweichungen senken. Der Unterschied zwischen der Gruppe der kleineren und größeren Männern beträgt knapp 1 Standardabweichung. Er fällt also deutlich ins Gewicht.

Kleinere Männer erzielen im Mittel auch einen höheren Wert auf einer Borderline-Skala. Hier sieht man ebenfalls eine beachtliche Effektstärke:

Änhliches gilt für suizidale Gedanken:

Auch bei Psychopathie (gemessen mittels dem “Dirty Dozen” Fragebogen der dunklen Triade) erzielen kleinere Männer im Mittel höhere Werte, wobei sich hier am oberen Ende der Skala ein plötzlicher Anstieg gegen den Trend zeigt. Unmöglich zu sagen, ob es sich um einen realen Effekt handelt oder nur um eine bedeutungslose statistische Schwankung. Beides ist gut denkbar.

Narzissmus gehört ebenfalls zur dunklen Triade und wurde hier mit dem gleichen Fragebogen erfasst. Entgegen dem, was man im Allgemeinen vermuten mag, erzielen größere Männer geringere Werte auf der Narzissmus-Skala als kleinere Männer.

Diese psychische Aufwühlung macht sich auch im Schlaf bemerkt. Kleinere Männer berichten von einer größeren Häufigkeit intensiver Träume:

Und häufigeren Alpträumen:

Wenig überraschend auch von mehr Schlafproblemen, aber ich habe vergessen den Graphen abzuspeichern. Vielleicht liegen die Schlafprobleme aber nicht nur an der psychischen Aufwühlung. Pragmatischere Gründe sind denkbar, denn kleinere Männer verdienen im Mittel weniger:

Und berichten häufiger, dass sie mit Finanzproblemen kämpfen:

Trotz all diesen Empfänglichkeiten sind kleinere Männer im Mittel nicht weniger glücklich als größere Männer. Wobei man mit etwas Fantasie auch hier eine U-Kurve (umgekehrt) sehen kann. Ob realer Effekt oder bloße Schwankung muss leider offen bleiben.

Einer der gängisten Meinung über große Männer ist, dass sie beim anderen Geschlecht mehr Erfolg haben. Interessanterweise gibt es hierfür keine Hinweise. Große Männer sind nicht seltener Single:

Produzieren nicht mehr Kinder:

Und haben auch nicht häufiger Sex:

Zumindest gemäß dieses Datensatzes scheint die (absolute) Körpergröße kein bedeutendes Selektionsmerkmal zu sein. Vielleicht weil bei Paaren die relative Körpergröße der Partner wichtiger ist als die absolute Körpergröße des Mannes? Andere Körpermerkmale relevanter sind? Oder die Persönlichkeit mehr zählt? Wie dem auch sei, das Nullresultat springt ins Auge.

BMI – Normal und Ideal

Die Welt ist über die letzen Jahrzehnte deutlich dicker geworden. Das gilt nicht nur für westliche Länder (USA, praktisch alle europäischen Staaten), sondern auch für viele Entwicklungsländer (Mexiko, Brasilien, Türkei). Dadurch hat sich eine Diskrepanz ergeben zwischen BMI-Werten, die von der Medizin empfohlen werden (Idealbereich), und den Werten, die in den Gesellschaften tatsächlich gemessen werden (Normalbereich). Wie groß ist diese Diskrepanz in Deutschland?

Dazu muss man neben dem Mittelwert auch die Standardabweichung kennen. Laut Our World in Data (Scrollen zur Kategorie Obesity / BMI) ist der mittlere BMI in Deutschland zwischen den Jahren 1975 und 2016 von 24,7 auf 27,5 (Männer) beziehungsweise 24,3 auf 26,0 (Frauen) gestiegen. Die Standardabweichung lässt sich medizinischen Publikationen entnehmen, zum Beispiel hier und hier. Sie beträgt grob 0,15*BMI für Männer, was dem Wert 4,1 bei dem obigen Mittelwert entspricht, und 0,22*BMI für Frauen, oder 5,5.

Damit ergeben sich unter Zuhilfenahme eines beliebigen Rechners für die Normalverteilung (ich nutze immer diesen) folgende Bereiche für Deutschland:

Männer: 27,5 ± 4,1

33 % liegen innerhalb 25,8 und 29,2 (z = 0,42)
50 % liegen innerhalb 24,7 und 30,3 (z = 0,68)
75 % liegen innerhalb 22,8 und 32,2 (z = 1,15)
90 % liegen innerhalb 20,7 und 34,4 (z = 1,66)

Frauen: 26,0 ± 5,5

33 % liegen innerhalb 23,7 und 28,3 (z = 0,42)
50 % liegen innerhalb 22,3 und 29,7 (z = 0,68)
75 % liegen innerhalb 19,7 und 32,3 (z = 1,15)
90 % liegen innerhalb 16,9 und 35,1 (z = 1,66)

Der Normalbereich in Deutschland liegt also bei 25-30 für Männer und 22-30 für Frauen. In diesem um den Mittelwert zentrierten Bereich liegt der BMI von 50 % der Deutschen des jeweiligen Geschlechts. Das natürlich unter der Annahme einer repräsentativen Altersverteilung. Beschränkt man sich auf junge Männer oder Frauen, verschiebt sich der Normalbereich in Richtung niedrigerer Werte, für eine Beschränkung auf ältere Männer und Frauen in Richtung höherer Werte.

Die Diskrepanz zu den Empfehlungen der Medizin ist sehr deutlich. Bei Männern spricht man zwischen 20-25 von Idealgewicht (leider verwirrenderweise auch oft Normalgewicht genannt), 26-30 von Übergewicht und ab 31 von Adipositas. Für Männer in Deutschland, das stimmt auch für sehr viele andere Länder, ist Übergewicht seit ein bis zwei Jahrzehnten die Norm. Nur 25 % der Männer (jeder Vierte) liegen im Idealbereich.

Bei Frauen ist die Situation ähnlich. Hier liegt der Idealbereich bei 19-24, der Bereich von Übergewicht bei 24-30 und der Bereich von Adipositas bei 31 aufwärts. Auch wenn die Überschneidung von Normal- und Idealbereich in diesem Fall etwas größer ist, gilt auch hier, dass Übergewicht die Regel ist. Gemäß dem Mittelwert und der Standardabweichung liegen nur 35 % der Frauen (jede Dritte) im Idealbereich.

Über Gründe für die Entwicklung der letzten Jahrzehnte will ich nicht spekulieren. Ich kann aber noch die Risikofaktoren für erhöhte BMI-Werte aus einem Datensatz mit n = 361 Leuten (USA) anfügen:

  • Alter
  • Persönlichkeit: Geringe Conscientiousness (Gewissenhaftigkeit)
  • Persönlichkeit: Hohe Neigung zu Ungeduld
  • Persönlichkeit: Hohe Neigung zu Langeweile
  • Ernährung: Hoher Konsum zuckerhaltiger Getränk
  • Ernährung: Hoher Konsum von Fleisch
  • Ernährung: Hoher Konsum frittierter Lebensmittel
  • Ernährung: Hoher Konsum von Pizza
  • Ernährung: Geringer Konsum von Nüssen
  • Ernährung: Selten kochen
  • Bewegung: Selten spazieren gehen
  • Bewegung: Selten trainieren (Mid-Intensity bis High-Intensity)

Alles nur korrelativ. Manches davon wird tatsächlich ursächlich sein, anderes davon nur Indikator für ursächliche Faktoren, welche an anderer Stelle aufgelistet oder durch die Umfrage gar nicht erfasst wurden. Das jeweilige Signifikanzniveau ist mindestens p < 0,05.

Wieso man sich auf das Altern SEHR freuen sollte

Unter Begriff Ageism werden Vorurteile gesammelt, die man unter jungen Menschen oft über alte Menschen hört. Viele denken hier an Einsamkeit, Traurigkeit, Bitterkeit, Schwäche. Von der Realität können diese Vorurteile aber kaum weiter entfernt sein. Tatsächlich gilt: Mit dem Alter wird alles besser und zwar sehr deutlich. Altern bringt Herzlichkeit, Glück, Entspannung, Stabilität. Behaupten kann man natürlich viel, deshalb lasse ich ab hier die Daten (n = 582 / USA / Alter: 14 bis 86) sprechen.

Mit dem Alter dreht sich die Persönlichkeit sehr deutlich ins Positive. Menschen werden im Mittel extrovertierter (weniger schüchtern, kontaktfreudiger):

Das Merkmalcluster Sozialverträglichkeit (Herzlichkeit, Empathie, Rücksicht) bekommt einen deutlichen Schub:

Das Gleiche gilt für das Cluster Gewissenhaftigkeit (Verlässlichkeit, Ordentlichkeit):

Und noch schöner: Alle Aspekte des Clusters Neurotizismus (Ängstlichkeit, emotionale Instabilität, Selbstwertprobleme, negativer Fokus) erfahren eine klare Entspannung.

Vor dem Hintergrund des abnehmenden Neurotizismus leuchtet es ein, dass man umso glücklicher wird, je älter man wird. Senioren fühlen sich viel glücklicher als Menschen mittleren Alters:

Der reduzierte Neurotizismus bringt auch einen besseren Schlaf. Schlafprobleme lösen sich nach und nach auf:

Einschlafen geht schneller:

Und Alpträume werden seltener:

Alle Aspekte der dunklen Triade beginnen sich ebenso zu verabschieden. Es zeigt sich eine deutlich geringere Tendenz zu Psychopathie:

Eine Reduktion bei machiavellistischen Denkmustern:

Und auch weniger Narzissmus:

Kleiner Zusatz: Bei den Clustern Sozialverträglichkeit, Psychopathie und Machiavellismus zeigen sich Geschlechterunterschiede. Das Drehen ins Positive geschieht bei Frauen schneller und deutlicher.

Sozialverträglichkeit:

Psychopathie:

Machiavellismus:

Für Borderline gilt dasselbe wie für die dunkle Triade: Es verabschiedet sich.

Ebenso die suizidale Ideation:

Ältere Menschen fühlen sich viel seltener grundlos erschöpft. Auch das ist wohl eine Folge des sinkenden Neurotizismus.

High-Intensity-Training funktioniert später natürlich nicht mehr so gut:

Aber zumindest was spazieren gehen angeht, zeigt sich bei Senioren keine signifikante Abnahme. Viel Bewegung ist auch im Seniorenalter gut möglich:

Dass man etwas dicker wird, lässt sich trotzdem nur schwer vermeiden:

Das Einkommen sinkt wieder, was man aber vor der Hintergrund des deutlich erhöhten Lebensglücks sicherlich verschmerzen kann:

Noch zwei Hinweise: Die Freude am Reisen bleibt auch im hohen Alter bestehen!

Und die Freude am Tanzen scheint sogar ein kleines bisschen zuzunehmen:

Es zeigt sich also ein Bild, dass sich klar von den gängigen Vorurteilen unterscheidet. Einsamkeit, Traurigkeit und Bitterkeit ist eher etwas für jungen Menschen. Ältere Menschen sind im Mittel kontaktfreudiger, sozialer, verlässlicher, positiver und vor allem glücklicher als junge Menschen. Vieles davon tritt auch schon viel früher ein, ab den 40ern und 50ern. Es handelt sich nicht um einen plötzlichen Wandel mit dem Eintritt in das Rentenalter, sondern um einen stetigen Prozess des Besserns. Wie dem auch sei, jede Metrik sagt ganz klar: Man darf sich auf das Altern freuen.

Was ist eine Standardabweichung? Was sind Z-Werte?

Der Mittelwert m ist die populärste Kennzahl der Statisik und sie ist i.d.R. das Erste, was berechnet wird, wenn man Daten beurteilen bzw. zusammenfassen möchte. Die Standardabweichung s fristet im Gegensatz dazu eher ein Schattendasein und das, obwohl sie genauso wichtig und nützlich bei der Beurteilung von Daten ist. Während der Mittelwert angibt, welche Werte man im Mittel erwarten kann, gibt die Standardabweichung an, wie weit die Werte um diesen Mittelwert streuen.

Eine Welt, in der die Körpergröße eine hohe Standardabweichung besitzt, würde sehr anders aussehen als eine, in der man nur eine geringe Standardabweichung hat. Und das selbst dann, wenn man in beiden Fällen denselben Mittelwert hat. Angenommen es leben auf Insel A Menschen, die im Mittel eine Körpergröße von m = 180 cm und eine Standardabweichung von s = 7 cm haben. In diesem Szenario würde man erwarten, dass circa 70 % (siehe Faustregeln unten) der Menschen eine Körpergröße zwischen 180-7 = 173 cm und 180+7 = 187 cm besitzen. Und 95 % der Menschen auf Insel A liegen zwischen 180-2*7 = 166 cm und 180+2*7 = 194 cm. Menschen unter einer Größe von 160 cm oder über 200 cm wären also auf dieser Insel eine ziemliche Seltenheit. Bei einer Stichprobe mit sehr vielen Menschen würde man auch Menschen mit solch extremen Körpergrößen finden, aber sie würden deutlich aus der Masse herausstechen. Diese Körpergrößen liegen auf Insel A weit außerhalb der gewöhnlichen Schwankungsbreite.

Anders wäre das auf Insel B mit demselben Mittelwert m = 180 cm und einer Standardabweichung s = 15 cm. Hier haben circa 70 % der Menschen eine Körpergröße 165 cm bis 195 cm. Und 95 % eine Körpergröße 150 cm bis 210 cm. Menschen um die 160 cm oder 200 cm Körpergröße würden hier nicht sonderlich herausstechen, trotz der deutlichen Entfernung zum Mittelwert. Extreme Körpergrößen beginnen hier eher ab 140 cm für das eine Ende der Skala und 220 cm für das andere Ende. Um beurteilen zu können, welche Werte innerhalb normaler Schwankungen liegen und welche Werte extrem sind, ist es also unbedingt notwendig die Standardabweichung zu kennen. Der Mittelwert gibt keinen Auskunft darüber. Als Faustformel kann man sich merken:

  • 70 % der Werte liegen zwischen Mittelwert minus einer Standardabweichung (m-s) und Mittelwert plus einer Standardabweichung (m+s)
  • 95 % der Werte liegen zwischen Mittelwert minus zwei Standardabweichungen (m-2*s) und Mittelwert plus zwei Standardabweichungen (m+2*s)

Das gilt zwar strikt nur dann, wenn die Werte normalverteilt sind, aber auch für andere Verteilungen (sofern nicht radikal verschieden) sind es verlässliche Richtwerte. Noch ein weiteres Beispiel, gefolgt von einem Argument dafür, wieso man am besten gleich den Schritt zum “Z-Wert” machen sollte. Angenommen es wird ein Test zur Messung von Selbstbewusstsein entworfen. 30 Fragen, je nach Antwort gibt es pro Frage 0-3 Punkte. Je höher die Punktzahl, desto besser das Selbstbewusstsein. Die Gesamtzahl der Punkte kann also zwischen 0 und 90 liegen. Angenommen man würde den Test 1000 Leuten vorlegen und fände einen Mittelwert von 60 Punkten. Wie ist das Selbstbewusstsein einer Person zu beurteilen, die nur 50 Punkte erreicht hat? Normale Schwankung? Grund zur Sorge?

Das hängt offensichtlich davon ab, wie weit die Punktzahl für gewöhnlich schwankt. Ohne die Standardabweichung zu kennen, lässt sich diese Frage nicht beantworten. Beträgt die Standardabweichung s = 10 Punkte, so gäbe es keinen Grund zur besonderen Sorge. Man darf erwarten, dass 70 % der Resultate (gegeben wie zukünftig) zwischen 50 und 70 Punkten liegen. Und 95 % der Resultate im Bereich von 40 bis 80. Wo genau man den Punkt “Grund zu besonderer Sorge” anlegt, ist natürlich nirgendwo definiert, aber die Punktzahl 50 liegt noch klar in der Zone normaler Schwankungen.

Solche Diskussionen werden deutlich einfacher und einheitlicher, wenn man statt der beiden Begriffe Mittelwert und Standardabweichung den Begriff Z-Wert heranzieht. Der Z-Wert gibt direkt an, wo ein Wert im Bezug auf den Mittelwert unter Berücksichtigung der Schwankungsbreite liegt. Die Punktzahl 50 entspricht dem Z-Wert z = -1 weil dieser genau eine Standardabweichung unter dem Mittel liegt. Die Punktzahl 40 entspricht analog z = -2. Für die andere Richtung hat man z = 0 für die Punktzahl 60 (der Mittelwert), z = 1 für die Punktzahl 70 und z = 2 für die Punktzahl 80.

Auch bei der Körpergröße lassen sich leicht Z-Werte angeben. Nochmal zu Insel A mit einem Mittelwert m = 180 cm und einer Standardabweichung s = 7 cm. Eine Körpergröße von 180 cm entspricht z = 0, die Größe 187 cm entspricht z = 1, die Größe 173 cm entspricht z = -1, die Größe 194 cm entspricht z = 2, die Größe 166 cm entspricht z = -2, und so weiter. Eine Diskussion in Z-Werten ist sehr nützlich weil man nicht immer an den exakten Skalenwerten interessiert ist und sich die Berechnung der Schwankungsbereiche erspart. Angenommen Wissenschaftler entwickeln eine Skala für Narzissmus. Den Leser interessiert der Mittelwert m = 4,1 und die Standardabweichung s = 0,4 i.d.R. recht wenig. Diese Werte haben keine klare direkte Interpretation und würden sich außerdem auch ändern, wenn man die Skala modifiziert. Etwa indem man mehr Fragen hinzunimmt oder die Anzahl erreichbarer Punkte pro Frage verändert.

Was aber trotzdem eine direkte Aussagekraft behält sind die Z-Werte. Weiß man, dass ein Teilnehmer ein Resultat entsprechend z = 2 erhalten hat, dann weiß man dass dies einer ziemlich deutlichen Erhöhung von Narzissmus entspricht. Weiß man, dass ein ein Teilnehmer ein Resultat entsprechend z = 2 bei der Selbstbewusstseinskala erhalten hat, dann weiß man dass dies einer ziemlich deutlichen Erhöhung des Selbstbewusstseins entspricht. Und weiß man, dass ein Mensch eine Körpergröße entsprechend z = 2 hat, dann weiß man dass dies einer ziemlich deutlichen Erhöhung der Größe entspricht. Egal welche Skala verwendet wird, es lohnt sich in Z-Werten zu denken, weil hier Mittelwert und Schwankungsbreite schon sinnvoll verarbeitet sind.

Die Z-Werte meiner Persönlichkeit sind grob:

  • Extraversion: z = +0,5
  • Sozialverträglichkeit / Empathie: z = +1,5
  • Gewissenhaftigkeit: z = -1,5
  • Offenheit: z = +2,0
  • Stabilität: z = -1,0

Diese Werte machen Sinn und lassen sich gut beurteilen ohne die jeweiligen Mittelwerte und Standardabweichungen der Big-Five-Skalen zu kennen. Eine Diskussion mit Mittelwerten und Schwankungsbreiten wäre deutlich aufwendiger gewesen und hätte den Blick auf das Zentrale wohl nur verwaschen. Die Z-Werte machen die Einordnung so klar wie möglich.

Zurück zur Standardabweichung. Sie eignet sich also gut zur Beurteilung von Abweichungen zum Mittelwert, ist jedoch auch bei der Beurteilung von Effektstärken extrem nützlich. Angenommen man möchte wissen, wie groß der Einfluss von Koffeinkonsum auf die Einschlafdauer ist. Dazu sammelt man Daten (Wieviel Koffein trinkst du pro Tag? Wie lange brauchst du normalerweise zum Einschlafen?) und führt eine Regression durch. Der Königsweg zur Beurteilung der Effektstärke läuft über den standardisierten Regressionskoeffizienten Beta. Beta hat eine sehr klare und nützliche Interpretation. Der Wert gibt an, um wieviel Standardabweichungen sich Y ändert, wenn man X um genau eine Standardabweichung erhöht. Für unseren Fall: Um wieviele Standardabweichungen sich die Einschlafdauer ändert, wenn man den Koffeinkonsum um eine Standardabweichung erhöht.

Angenommen man fände Beta = 0,5. Man kann dann sagen, dass Leute, deren Koffeinkonsum z = 1 Standardabweichung erhöht ist, eine Erhöhung der Einschlafdauer um z = 0,5 Standardabweichungen haben. Und Leute, deren Koffeinkonsum z = 2 Standardabweichungen über dem Konsum-Mittelwert liegt, müssen mit einer Erhöhung der Einschlafdauer um z = 1 Standardweichung über dem Einschlafdauer-Mittelwert rechnen. Leute, die es schaffen ihren Koffeinkonsum um z = 3 Standardabweichungen zu senken, werden mit einer Senkung der der Einschlafdauer um z = 1,5 Standardabweichungen belohnt. Der Wert Beta erfasst also sehr klar die Stärke des Zusammenhangs, ohne auf die Details der jeweiligen Skalen eingehen zu müssen.

In diesem speziellen Fall wäre es tatsächlich sinnvoll, etwas weiterzurechnen, um die obigen Aussagen in bekannte Einheiten umzurechnen (z.B. Minuten Reduktion in der Einschlafdauer bei Reduktion es Konsums um 100 ml). Aber das ist nicht immer so. Man denke z.B. an den Zusammenhang zwischen emotionaler Stabilität und Gedächtnis. Oder Zustimmung zu Verschwörungstheorien und Angst vor Kontrollverlust. Hier gäbe es keine gängigen Einheiten zur Umrechnung. Der standardisierte Regressionskoeffizient Beta, und somit die Interpretation über Standardabweichungen, ist der Königsweg weil der Wert so schön skalenunabhängig ist. Und die Diskussion um Effektstärken somit auch einfach und einheitlich macht.

Man könnte hier noch einen Hinweis zum p-Wert anfügen. Das Statistik-Programm spuckt zu jedem Beta noch einen p-Wert raus. Dieser Wert sagt nichts über die Stärke eines Effekts. Er ist nur die Verlässigkeit des Resultats gegeben den Daten. Ein Wert p < 0,001 oder auch p < 0,01 sagt, dass man sich recht sicher sein darf, dass der Beta-Wert und alle Schlussfolgerungen daraus der Realität entsprechen. Es sind also genügend Daten vorhanden um der Regression “blind” glauben zu schenken. p < 0,05 ist schon etwas kritischer. Man kann den Wert Beta nehmen und seine Schlussfolgerungen ziehen, sollte sich der Sache aber nicht zu sicher sein. Eventuell interpretiert man hier eine zufällige Schwankung in den Daten als einen Effekt, der in der Realität gar nicht existiert. Und für p > 0,05 sollte man den Wert Beta verwerfen. Eventuell gibt es diesen Effekt. Aber man hat definitiv nicht genügend Daten, um sich dessen sicher zu sein.

Kratom Use: Reported Dosage and Self-Medication

Kratom has become a popular, semi-legal drug for recreational use and self-medication in both the US and European countries. The vast majority of people who report using it for self-medication usually do so to counter symptoms of mental disorders (depression, anxiety) or to manage chronic pain. I analyzed comments on r/Kratom to see how many grams users commonly consume in one sitting and over a whole day. I’ll first present the descriptive statistics and correlations and then go on to add a few words on limitations.


Here is the distribution of the dosage per sitting. The average dosage is 5 grams, with reported values ranging from a minimum of 1 gram to a maximum of 35 grams. Most users seem to stay within a moderate dosage of 3-6 grams, though 7-10 grams also doesn’t seem that uncommon. Note that the final data points are off-scale.

The dosage per sitting seems to depend on both the reason for consumption as well as the experience with the drug. People, who report taking Kratom to manage pain, report a higher dosage on average (7 grams or 40 % above the median) than those taking it for reasons of mental issues or those that did not state a reason.

Looking at the duration of usage, there seems to be an increase in dosage per sitting over the first two years of consumption. People seem to start out with a dosage of around 2.5 grams (roughly one teaspoon) and increase that to a typical value of 4 grams per sitting after one year and 6 grams after two years. The dosage per sitting keeps increasing past this time frame as well, but one can observe a massive divergence, with some users leveling off at around 6 grams after two years and others steadily increasing that.


This is what consumption per day looks like. The average is 12 grams per day, with values ranging from mere 2 grams to an impressive 100 grams. Most users stay within 4-20 grams per day, but a noticeable minority also settles somewhere in the range 34-42 grams. Again the last two data points are off-scale.

The dependency on reason seems to hold true here as well. People, who use Kratom to manage pain, take a higher daily dosage (22 grams or 80 % above the median) than those who take it to combat mental issues and those who did not state a reason.

Consumption per day also increases with experience and here the explained variance is even higher. People seem to start out with 4.5 grams a day and increase that to 8.5 grams after one year and 13 grams after two years. Past this time frame the average consumption keeps increasing, though with the same noticeable divergence with some users leveling off after two years.


Further remarks:

  • Not surprisingly, there is a strong correlation between dosage in one sitting and daily dosage. The linear regression line should not give the impression that a linear dependency should be assumed. It is just there to highlight the trend. The same is of course also true for the two regression lines seen above.
  • Most users did not provide a reason for Kratom consumption in the comment that laid out their pattern of consumption, though among those that did, 22 % reported using it to combat symptoms arising from a mental illness alone and 78 % said that they are using it to manage chronic pain and the mental fallout from that. No one stated purely recreational use, though there are certainly people who do this.

Limitations:

  • The population of users discussing their consumption on r/Kratom is not necessarily representative of the population of all Kratom users. So the averages found above should be assumed to be biased.
  • Sample size is only n = 138 users, which is good, but not great.

Berechnung verlorener Lebensjahre

In vielen Ländern liegt das mittlere Alter der Todesfälle infolge von Corona nur knapp unter der Lebenserwartung, in manchen Ländern liegt es sogar darüber. Das verleitet zur Annahme, dass jene Menschen, die an dem Virus gestorben sind, auch ohne Corona bald (innerhalb der nächsten Wochen / Monate) gestorben wären. Dagegen sprechen aber sehr klar zwei Dinge:

  1. Mathematik
  2. Abwesenheit des Harvesting Effect

Hier soll es um Nummer 1 gehen. In Deutschland beträgt die Lebenserwartung 82 Jahre. Vor diesem Hintergrund ist es interessant, sich folgende Frage zu stellen: Was ist die Lebenserwartung eines 90-Jährigen? Null Jahre? Minus 8 Jahre? Beides macht keinen Sinn. Glücklicherweise muss man nicht raten, sondern kann die gesuchte Antwort leicht ermitteln: Man kontaktiert einhundert 90-Jährige und verfolgt diese über die nächsten Jahre. Daraus lässt sich die durchschnittliche Lebenserwartung eines 90-Jährigen ermitteln. Und das Ergebnis ist natürlich weder Null noch kleiner als Null. Es stellt sich aber die Frage, wie diese Lebenserwartung sich mit mit der Angabe einer Lebenserwartung von 82 Jahre verträgt.

Dazu ein kleiner Umweg. Im Mittelalter war die Lebenserwartung um die 40 Jahre ab Geburt. Da es aber eine sehr hohe Säuglingssterblichkeit gab, hat sich diese Lebenserwartung sehr stark von der Lebenserwartung ab dem Alter 1 Jahr unterschieden. Ab Geburt 40 Jahre, aber wer das erste Jahr geschafft hatte, bei dem war die Lebenserwartung in der Umgebung von 60 Jahren. Es macht also wenig Sinn, von einer einzigen Lebenserwartung zu sprechen. Es gibt die Lebenserwartung ab Geburt, ab dem Alter 1, ab dem Alter 2 und entsprechend auch die Lebenserwartung ab dem Alter 90. Die 90-Jährigen sterben nicht plötzlich, nur weil sie die magische Grenze von 82 Jahre überschritten haben. Jeder 90-Jährige darf erwarten, eine gewisse Anzahl Jahre weiterzuleben.

Entsprechend ist es sinnlos, die Anzahl verlorener Lebensjahre durch Vergleich mit der Lebenserwartung ab Geburt zu berechnen. Was zählt, ist die Lebenserwartung ab dem Alter, in welchem die Person an Corona verstorben ist. Die Lebenserwartung eines 80-Jährigen in Deutschland beträgt 8 Jahre. Wenn also eine 80-jährige Person an Corona stirbt, dann sind ihm 8 Lebensjahre verloren gegangen, und nicht etwa 2 Jahre, wie man durch Vergleich mit der Lebenserwartung ab Geburt vermuten könnte.

Die genaue Berechnung funktioniert wie folgt: Sei T eine Zufallsvariable, die das Alter bei Eintritt des Todes ausdrückt, und f(t) die entsprechende Dichtefunktion. Die Wahrscheinlichkeit, vor dem Alter t zu sterben, ist dann F(t) = P(T < t) = int (0,t) f(t) dt, wobei int das Integral ausdrückt. Die Dichtefunktion f(t, T > t0) der Zufallsvariablen T unter der Annahme, dass T schon den Wert t0 erreicht hat, muss unterhalb von t0 den Wert Null haben und oberhalb davon ein Vielfaches von f(t) sein:

f(t, T > t0) = 0 für t < t0 und f(t, T > t0) = k*f(t) sonst

Da f(t, T > t0) eine Dichtefunktion ist, muss int (0,unendlich) f(t, T > t0) dt = 1 sein, also:

int (0,unendlich) f(t, T > t0) dt = int (t0,unendlich) k*f(t) dt = k*(1 – int (0,t0) f(t) dt) = k*(1 – F(t0)) = 1

Es ist also:

f(t, T > t0) = f(t) / (1 – F(t0)) für t > t0

Die Lebenserwartung ab dem Alter t0 ist dann:

E(T | T > t0) = int (t0,unendlich) t * f(t) / (1 – F(t0)) dt

Für die Gesamtanzahl verlorener Lebensjahre bekommt man die Summe:

G = sum (t0 = 0,unendlich) N(t0) * E(T | T > t0)

Wobei N(t0) die Anzahl Menschen sind, die im Alter t0 verstorben sind. Für die erfassten Todesfälle in Deutschland ergeben sich so 185.000 verlorene Lebensjahre bei 19.000 Todesfällen oder im Mittel:

  • 9,7 verlorene Lebensjahre pro Todesfall

Verwendet zur Berechnung wurde die Sterbetafel und der aktuelle Lagebericht des RKI (8.12.20). Diese Zahl ist offensichtlich sehr weit entfernt von der Annahme, dass die betroffenen Menschen auch ohne Corona bald gestorben wären. Tatsächlich hätten sie im Mittel noch 9-10 Jahre weitergelebt. Es ist sogar so, dass weniger als 1 % der Verstorbenen eine verbliebene Lebenserwartung unter 2 Jahre hatten. Der Mythos, dass diese Menschen sehr bald gestorben wären, reflektiert nur den zu saloppen Gebrauch des Begriffs Lebenserwartung im Allgemeinen.

Lucifer’s Hammer – Tsunamis durch Asteroiden

Vor kurzem habe ich Lucifer’s Hammer gehört, ein spannender Roman über die Folgen des Einschlags eines Asteroiden, der in Größe und Energie vergleichbar mit dem Chicxulub-Impactor ist. Die zerstörende Wirkung beginnt mit einem Megatsunami, gefolgt von Dauerregen, Fluten, Stürmen, Abkühlung, Hungersnot, etc … Mich hat interessiert, welche Größe ein solcher Tsunami wirklich erreichen würde und Google Scholar gibt hier glücklicherweise Aufschluß.

Erstmal die Theorie: Simulationen und empirische Ergebnisse von atomaren Unterwassertests zeigen, dass sich die Größe des Tsunamis aus drei Parametern berechnen lässt, der kinetischen Energie des Asteroiden beim Aufprall auf das Wasser (E), der Wassertiefe an der Aufprallstelle (w) und der Entfernung vom Beobachter zur Aufprallstelle (x). Genauer gilt für die Höhe des Tsunamis (h) die folgende Proportionalität:

h ~ E^(1/4)*w/x

Wobei sich die kinetische Energie aus der Dichte des Asteroiden (D), seinem Durchmesser (d) und der Geschwindigkeit (v) ergibt:

E ~ D*d^3*v^2

Die Proportionalitätskonstante lässt sich durch numerische Simulationen eichen. Eine sehr umfassende Simulation findet man hier. Die Forscher simulieren eine Kollision, die nach derzeitigem Wissenstand am 16. März 2880 passieren könnte. Es geht dabei um einen Asteroiden mit Durchmesser d = 1,1 km, deutlich kleiner als der Chicxulub-Impactor, der die Erde mit einer Geschwindigkeit v = 18 km/s treffen würde. Die kinetische Energie entspricht 60.000 Megatonnen TNT, etwa 9 % davon konvertiert sich in Wasserwellen. Die vermutete Einschlagstelle liegt im Atlantischen Ozean, 600 km von der Ostküste der USA und 5.200 km von der Westküste Europas entfernt, mit einer Wassertiefe von w = 5 km. Die Simulation ergibt folgendes:

  • Der Tsunami würde nach 2 h die USA erreichen und dort mit einer maximalen Höhe von h = 140 m auftreffen
  • Nach 10 h würde der Tsunami Westeuropa erreichen, mit einer maximalen Höhe von h = 20 m

Damit ergibt sich für die Proportionalitätskonstante grob der Wert 1200, also h = 1200*E^(1/4)*w/x sofern die Angabe der Werte in den oben genannten physikalischen Einheiten erfolgt. An der Simulation sieht man, dass selbst ein relativ kleiner Asteroid (in geologischen Zeiträumen gedacht) einen massiven Tsunami produzieren kann, der mittelgroße Küstenstädte überragen kann.

Der Einschlag eines Asteroiden dieser Größe ist alle 400.000 Jahre zu erwarten, d.h. die Wahrscheinlichkeit, einen solchen Einschlag im Laufe eines vollen Lebens zu erleben, beträgt zum Glück nur 0,02 % (1 zu 5000). Dazu kommt: Asteroiden dieser Größe sind auffällig genug, um frühzeitig entdeckt zu werden und lassen sich entsprechend leicht umlenken. Nicht an den Film “Armageddon” denken, einen Asteroiden sprengt man nicht in die Luft, außer man möchte die Situation verschlimmern. Eine minimale Ablenkung orthogonal zum Geschwindigkeitsvektor durch einen Gravitationstraktor ist vollkommen ausreichend, um eine Kollision zu verhindern.

Aber zurück zu Tsunamis: Was passiert wenn ein Asteroid in der Liga von Chicxulub (d = 10 km, E = 10^8 MT TNT) die Erde trifft? Ein Einschlag an der selben Stelle wie der obige Asteroid würde laut der Formel einen Tsunami von etwa h = 1000 m Höhe erzeugen und somit die Skylines der großen Städte gut um das Doppelte überragen. In den Flachländern der Küstenregionen wäre ein Überleben ausgeschlossen. Der Tsunami, der durch Chicxulub ausgelöst wurde, war kleiner als in obigen Beispiel angegeben (300 m), was sich durch die geringe Wassertiefe an der Einschlagstelle erklärt. Und, das eher als interessanter Zusatz, es hat 6-8 h gedauert, bis der Chicxulub-Krater wieder mit Wasser gefüllt war.

Wie weit würde der Tsunami über Festland kommen? Könnte man ihm mit 2 h Vorwarnung zu Fuß entkommen? Gäbe es einen entsprechend hohen Hügel oder Berg, dann lautet die Antwort natürlich ja. Aber wie sieht es bei Flachland aus? Erstmal etwas Theorie: Tsunamis verlieren über Land ihre Energie über viskose Reibung und die Reibungskraft ist proportional zum Geschwindigkeitsgradienten (Änderungsrate der Geschwindigkeit über die Höhe an der Landoberfläche, also dv/dh bei h = 0). In der einfachsten Näherung kann man also F ~ -v/h setzen. Es ist laut Newton und der Kettenregel F = m*dv/dt = m*dv/dx*dx/dt = m*dv/dx*v also dv/dx*v ~ -v/h oder geteilt durch die Geschwindigkeit:

dv/dx ~ -1/h

Der Geschwindigkeitsverlust pro Streckeneinheit über Land dv/dx ist also grob inversiv proportional zur Tsunamihöhe. Um hier weiterrechnen zu können, müsste man wissen, wie sich die Höhe mit der Strecke über Land ändert. Der einfachste Ansatz wäre h(x) = h-k*x und somit:

0 – v0 = -int(0,xmax)(dx/(h-k*x)) = (1/k)*(ln(h-k*xmax)-ln(h))

exp(-k*v0) = 1-xmax/h

xmax = h*(1-exp(-k*v0))

Hier ist v0 nicht die Tiefwassergeschwindigkeit, welche bei Tsunamis egal welcher Größe enorm groß ist, vergleichbar zur Schallgeschwindigkeit, sondern die Geschwindigkeit beim Auftreffen auf Land. Diese ist schwierig abzuschätzen, aber man kann sagen, dass mindestens xmax ~ h, mit einer vernünftigen Abhängigkeit zwischen v0 und h wohl eher xmax ~ h^1,5.

Der Lovatnet-Tsunami von 1905 hatte eine Höhe von h = 40 m und hat ein Boot x = 300 m weit auf das Land getragen. Nimmt man das als Eichpunkt, so dürfte ein Tsunami mit h = 140 m also xmax = 1 bis 2 km über Land kommen, selbst bei moderater Steigung des Landes. Und bei einer Tsunamihöhe von h = 1000 m sind sogar xmax = 8 bis 38 km gut möglich. Bei zwei Stunden Vorwarnung wäre, je nachdem welcher Bereich der Schätzung der Realität näher kommt, ein knappes Entkommen zu Fuß vielleicht sogar noch möglich. Man sieht jedoch, dass trotz der enormen Höhe des Tsunamis der Schaden auf Küstenregionen beschränkt wäre. Mal über Land, verlieren sie recht schnell ihre Energie.

Natürlich wäre der Tsunami nur der Anfang. Beim Aufprall auf den Ozean werden massive Mengen an Wasser verdampft, was weltweit dauerhafte Wolkendecken und Starkregen zur Folge hat. Fluten und Zerstörung jeglicher landwirtschaftlichen Produkte wären vorprogrammiert. Ebenso eine globale Abkühlung bis hin zu einer neuen Eiszeit. Hinzu kommen Stürme und Erdbeben. Aber auch hier gilt: Wäre ein solcher Asteroid über die kommenden tausend Jahre auf Kollisionskurs mit der Erde, hätte man ihn längst entdeckt und es bliebe genug Zeit, um ihn abzulenken.

Die Mythen über Einzelkinder sind falsch

Manchmal sind Nullresultate die interessantesten Resultate. Vor allem dann, wenn einem Thema viele Mythen anhängen. Bei Einzelkindern gibt es viele gängige Vorurteile: verwöhnt, egoistisch, wenig sozial aktiv, etc … Tatsächlich gibt es im Mittel praktisch keine Unterschiede zwischen Menschen, die als Einzelkind aufgewachsen sind und jenen, die Geschwister haben. Hier ist ein guter Spiegel-Artikel darüber, aber ich wollte mir selber ein Bild machen mit einer Umfrage aus dem Harvard-Dataverse (n = 584 mit n = 70 Einzelkindern). Der Datensatz bestätigt schön, dass sich kein statistisch signifikanter Unterschied in den fünf Dimensionen der Persönlichkeit finden lässt und es auch keine Unterschiede gibt im Lifestyle (z.B. Alkohol, Zigaretten, Fitness) oder im allgemeinen Denken (z.B. Selbstbewusstsein, Zeitfokus, politische Einstellung). Die einzigen Effekte, die ich finden konnte, sind wie folgt. Die Effekte sind allesamt sehr schwach. Signifikant für p < 0,05 in einer ANOVA, aber nichts wofür ich meine Hände ins Feuer legen würde:

  • Einzelkinder sind etwas weniger narzisstisch als Menschen mit Geschwister, Effektstärke z = 0,4
  • Einzelkinder zeigen einen etwas stärkeren Fokus auf die Mutter, Effektstärke z = 0,4
  • Einzelkinder zeugen etwas seltener Kinder, im Mittel 0,4 Kinder pro Kopf im Gegensatz zu 0,65 Kindern pro Kopf bei Menschen mit Geschwistern
  • Einzelkinder sind möglicherweise etwas weniger körperbetont, im dem Sinne, dass sie seltener angeben, andere gerne zu umarmen (nicht signifikant) und auch seltener angeben, andere oft zu freundschaftlich berühren (signifikant).

Das Hauptresultat ist aber definitiv, dass sich über dutzende Variablen keine Unterschiede feststellen lassen. Einzelkinder sind nicht egoistischer (das hätte man am Agreeableness-Score gesehen) und auch nicht weniger sozial aktiv (siehe Extraversion-Score). Die Anwesenheit von Geschwister in der Kindheit scheint keinen messbaren Einfluss auf das spätere Leben zu zeigen. Das ist mir schon oft bei anderen Datensätzen aufgefallen. Manche Aspekte, wie Geschwister Ja/Nein oder Anzahl Geschwister, Ethnie oder Hautfarbe, Geschlecht, ländliche versus städtische Kindheit, tauchen extrem selten in Regressionen auf, egal wie lange man die Daten durchforstet. Andere Aspekte hingegen, wie Big-Five-Merkmale, Parentifikation, Beziehung zu den Eltern, zeigen sich als übliche Verdächtige. Aspekte also, die eine breite Wirkung auf fast alle Bereiche des Lebens und Denkens haben. So lernt man schnell, was wirklich einen großen Einfluss auf Menschen hat und was relativ irrelevante Merkmale sind. Oder zumindest Merkmale, die sehr wenig Aussagekraft über einen Menschen besitzen. Geschwister, Hautfarbe und Geschlecht sind gemäß meiner Erfahrung die besten Beispiele für Variablen der letzten Kategorie.

Wie findet man (heimlich) raus, ob eine Person neurotisch ist?

Manche Fragen sind sehr schlecht für erste Treffen, selbst man die Antworten manchmal gerne wüsste. Und stellt man diese Fragen doch, entgegen guter Etikette, so ist die Wahrscheinlichkeit recht gering, dass man eine ehrliche Antwort bekommt. Dazu gehören Fragen wie:

  • Bist du emotional stabil?
  • Hast du oft Stimmungsschwankungen?
  • Hast du oft Wutausbrüche?
  • Bist du oft grundlos erschöpft?
  • Bist du geplagt von Ängsten?

All diese Fragen messen Neurotizismus, ein relativ stabiles Merkmal der Persönlichkeit (siehe Big-Five-Modell). Glücklicherweise gibt es recht harmlos erscheinende Fragen, die eine exzellente Korrelation mit Neurotizismus zeigen. Es ist sehr einfach, das Maß an Neurotizismus einer Person zu bestimmen, ohne persönliche und geladene Fragen zu stellen. Vier Aspekte, die eine erstaunlich gute Korrelation mit Neurotizismus zeigen, sind Gedächtnis (r = -0,56), Selbstkritik (r = 0,52), Vergangenheitsfokus (r = 0,36) und Einschlafdauer (r = 0,33). Diese vier Aspekte zusammengenommen sagen das Level an Neurotizismus praktisch perfekt voraus – siehe hier den Vergleich zwischen dem Mittelwert der Antworten auf diese vier Fragen und dem Level an Neurotizismus gemessen mittels eines validierten Big-Five-Inventories.

  • Hast du ein gutes Gedächtnis?
  • Bist du sehr selbstkritisch?
  • Denkst du oft über die Vergangenheit nach?
  • Brauchst du lange zum Einschlafen?

Ein klares Ja gefolgt von drei klaren Nein sind praktisch ein Garant für geringen Neurotizismus (hohe emotionale Stabilität). Bei einem klaren Nein gefolgt von drei klaren Ja darf man mit an Sicherheit grenzender Wahrscheinlichkeit davon ausgehen, dass die Person hochneurotisch ist. Für alles dazwischen übersetzt sich der Mittelwert dieser Antworten fast eins-zu-eins in das Maß an Neurotizismus, wobei die erste Frage natürlich umgekehrt codiert einfließt.

Interessant wäre zu wissen, wieso das funktioniert. Also wieso jene vier Aspekte eine so starke Korrelation mit Neurotizismus zeigen. Und ob es sich hier um ursächliche Beziehungen handelt oder ob verborgene dritte Variablen für die Beziehung sorgen. Ich habe meine Theorien zum Zusammenhang zwischen Gedächtnis und emotionaler Labilität, aber für die Anwendung spielt es zum Glück keine Rolle, wieso die Korrelationen in dieser Form bestehen. Es reicht zu wissen, dass dieser kurze Fragebogen ganz wundervoll funktioniert.

Will man es noch etwas genauer wissen, wobei der zusätzliche Nutzen nicht besonders groß ausfällt, könnte man noch die negative Wertung der Schulzeit (r = 0,29) und Impulsivität (r = 0,29) hinzunehmen. Bei Frauen, bei Männern jedoch nicht, haben sich zusätzlich Tagträumerei (r = 0,32) und Ambitioniertheit (r = -0,30) als verlässliche Indikatoren für Neurotizismus gezeigt, wobei Ambitioniertheit hier auch umgekehrt codiert werden muss.

PS: Die Analyse basiert auf einem recht großen Datensatz aus dem Harvard Dataverse mit 584 Umfrage-Teilnehmern. Demographie: 45 % Frauen, 40 % Singles, 63 % kinderlos, mittleres Alter 36 Jahre (von 14 bis 84 Jahren).

Energieverbrauch beim horizontalen Laufen / Joggen

Es gibt verschiedene Ansätze, um den Energieverbrauch beim Laufen oder Joggen zu berechnen. Die Publikation Energy expenditure during level human walking: seeking a simple and accurate predictive solution (Ludlow / Weyand), erschienen 2015 im Journal für angewandte Physiologie, ist eine Verfeinerung des in Medizin häufig verwendeten ACSM-Modell. Der große Vorteil des neuen Modells ist:

  • Es wird nur eine Gleichung (statt zwei) verwendet, um den gesamten Bereich möglicher Geschwindigkeiten abzudecken
  • Die Geschwindigkeit fließt nichtlinear ein, so wie es biomechanische Modelle des Laufens vorhersagen*
  • Es ist laut der Publikation genauer als das ACSM-Modell

Ein Nachteil ist jedoch, dass es Steigungen nicht berücksichtigt. Es erlaubt nur die Berechnung des Energieverbrauchs bei horizontaler Bewegung. Bei nicht-vernachlässigbaren Steigungen muss daher das ACSM-Modell benutzt werden. Nach den Konvertierungen von ml O2 zu kcal sieht die Formel für den Energieverbrauch E (in kcal) so aus:

E = (0,036+0,03*v²/h)*m*t

Wobei v die Lauf- bzw. Jogging-Geschwindigkeit ist (in m/s), h die Körpergröße (in m), m die Körpermasse (in kg) und t die Zeit (in min). Für die Umrechnung von km/h in m/s, einfach den km/h-Wert durch 3,6 teilen. Die typische Geschwindigkeit beim Laufen ist knapp 5 km/h = 1,4 m/s und die typische Geschwindigkeit beim Jogging 9 km/h = 2,5 m/s.

Bei einer Stunde laufen t = 60 min mit der typischen Geschwindigkeit v = 1,4 m/s (moderates Laufen), einer Körpergröße von h = 1,75 und Masse = 75 kg verbraucht man also grob 310 kcal, was gut mit experimentell-gemessen Werten übereinstimmt. Diesselbe Zeit joggen bei v = 2,5 m/s und denselben Körpermaßen bringt einen Verbrauch von 640 kcal. Wer die metabolische Rate (ml O2 pro min und kg) berechnen will, findet die Formel im Abstract der Publikation. Ich finde die Rechnung in kcal nützlicher.

Für v = 0 erhält man den Ruheverbrauch in dem gewählten Zeitraum und das erlaubt zu bestimmen, um welchen Faktor die Bewegung den Energieverbrauch gegenüber dem Ruheverbrauch erhöht. Bei t = 60 min und m = 75 kg ergibt sich ein Ruheverbrauch von 160 kcal. Laufen bei moderatem Tempo verdoppelt also grob den Energieverbrauch, Joggen steigert den Energieverbauch um das Vierfache. Beim Sprinten, auch für Normalsterbliche gut möglich mit v = 20 km/h = 5,6 m/s, erhält man eine Steigerung des Energieverbauchs um den Faktor Sechzehn.

  • E(Laufen) = 2*E(Ruhe)
  • E(Joggen) = 4*E(Ruhe)
  • E(Sprinten) = 16*E(Ruhe)

Wer nicht jedesmal die Formel auspacken möchte und es so genau auch gar nicht wissen muss, könnte sich einmal den Ruheverbrauch berechnen und in Zukunft einfach die obigen Ergebnisse als Faustformel nehmen. Richtwerte für den Ruheverbrauch pro Stunde sind:

50 kg60 kg70 kg80 kg90 kg100 kg
110 kcal130 kcal150 kcal170 kcal195 kcal215 kcal

Mit der Formel lässt sich auch berechnen, wie es um die entsprechenden Geschwindigkeiten v und v’ bestellt sein muss, damit zwei Personen verschiedener Körpermaße (oder eine Person nach Veränderung der Körpermaße) denselben Leistungsoutput erbringt:

(0,036+0,03*v²/h)*m = (0,036+0,03*v’²/h’)*m’

Legt der obige Jogger zum Beispiel 15 kg an Körpergewicht zu, also von m = 75 kg (die guten alten Zeiten) zu m’ = 90 kg, dann reicht statt der Geschwindigkeit v = 2,5 m/s = 9 km/h die Geschwindigkeit v = 2,3 m/s = 2,2 m/s = 7,9 km/h um denselben Leistungsoutput (gemessen in kcal pro Minute) zu erreichen. Das natürlich nur als mathematische Rechtfertigung, wieso meine Geschwindigkeit beim Jogging unter dem Durchschnitt liegt.

;)

Und auch am Rande: Die Kräfte auf die Beine / Gelenke steigen ebenfalls quadratisch mit der Geschwindigkeit. Das folgt aus der Erhaltung des Impulses, siehe hier. vI ist hier die Impact-Velocity (Aufprallgeschwindigkeit des Fußes), nicht die Laufgeschwindigkeit. Es besteht aber ein einfacher empirischer Zusammenhang zwischen Aufprall- und Laufgeschwindigkeit, nämlich vI = 0,2*v. Beim Joggen v = 9 km/h liegt die Aufprallgeschwindigkeit also grob bei vI = 1,8 km/h, die typische Maximalbeschleunigung beim Aufprall im Bereich 3-6 g. Dämpfend wirkt sI, die Strecke, über welcher diese Geschwindigkeit abgebaut wird. Diese wird vor allem bestimmt durch die Härte des Bodens und der Federung der Schuhe. Schonend joggen heißt also: langsam, weicher Untergrund, gute Schuhe.

Der Rest ist für Nerds: Für zeitlich variable Geschwindigkeiten v(t), wie etwa einer linearen Abnahme der Geschwindigkeit mit der Zeit, was für Jogging recht typisch ist, oder abwechselnden Phasen von Laufen / Joggen bzw. Joggen / Sprinten, lässt sich folgende Formel verwenden:

E = (0,036+0,03/h*int(0,t)(v(η)²dη))*m

Wobei int(0,t) das Integral von 0 bis t bezeichnet. In diesem Fall müssen vor der Rechnung die Zeiteinheiten angepasst werden, also entweder die Zeit in Sekunden verwenden oder die Geschwindigkeit in m/min ausdrücken. Zur Vereinfachung der Rechnung kann man eine lineare oder exponentielle Abnahme der Geschwindigkeit verwenden, für die meisten Fälle dürfte das absolut ausreichend sein. Will man es aber “auf die Dezimale” genau wissen, so empfiehlt sich der Ansatz:

v(t) = v0*(a^n)/(a^n+t^n)

Mit v0 als Anfangsgeschwindigkeit und zwei positiven Konstanten a und n. Diese Formel erfasst den typischen Verlauf der Geschwindigkeit beim Joggen besser: Eine recht konstante Geschwindigkeit v0 in einer gewissen Anfangszeit (Plateau), gefolgt von einer stetigen Abnahme. Beim linearen und exponentiellen Modell reduziert sich die Geschwindigkeit von Beginn an, was sich, wie erwähnt, empirisch nicht halten lässt. Für n = 1 und n = 2 lässt sich das Integral über das Quadrat der Geschwindigkeit sogar schön lösen, der Ansatz ist also auch praktikabel.

*Hinweis zur Geschwindigkeitsabhängigkeit: Viele biomechanische Modelle sagen sogar einen größeren Exponenten als hoch zwei voraus, typischerweise im Bereich von hoch drei bis hoch vier. Insofern kann man davon ausgehen, dass Ludlow / Weyand 2015 noch nicht das letzte Wort ist. Aber zumindest stellt es in dieser Hinsicht eine deutliche Verbesserung gegenüber dem ACSM-Modell dar.

Empathie plus Impulsivität ergibt Selbstverachtung

Ich wollte eine Hypothese testen, die mir schon lange im Kopf geistert. Der Ausgangspunkt für die Hypothese ist folgende Frage: Wie kann man erklären, dass es Menschen gibt, die einerseits eine sehr soziale / empathische Persönlichkeit besitzen (gemessen am Big Five Merkmal Agreeableness), gleichzeitig aber von aggressiven / antisozialen Gedanken geplagt werden? Also ein Leben in einem konstanten Spannungsfeld zwischen einer sozialen Natur und aggressiven Gedanken verbringen? Das trifft natürlich auf jeden Menschen zu einem gewissen Grad zu, aber mich interessieren vor allem die Fälle, bei denen diese Diskrepanz einen großen Raum einnimmt und sich in entsprechendem Verhalten äußern kann.

Ein sehr einfacher Mechanismus, der das erklären könnte, wäre die Kombination aus hoher Agreeableness plus niedriger Impulskontrolle mit dem Zusatz, dass das Aufsteigen von aggressiven / antisozialen Impulsen ein ganz normaler Prozess ist. Es ist dann leicht zu sehen, wie ein ständiger Konflikt zwischen der sozialen Natur und fehlregulierten aggressiven Impulsen entsteht. Setzt man ein Mindestmaß an Reflektion voraus, darf man davon ausgehen, dass der Person dieser Konflikt bewusst ist und dies schlussendlich zu Selbstablehnung und Identitätskrisen führt.

Es ist natürlich einfach, schön-klingende und plausible Hypothesen zu basteln, jedoch umso schwieriger, diese auch zu testen. Wenn die Hypothese stimmt, müssten alle sich daraus ergebenden Vorhersagen in den Daten sehen lassen. Eine der zu testende Vorhersagen wäre wie folgt: Bei wenig sozialen Menschen führt eine höhere Impulsvität nicht (oder nur minimal) zu mehr Selbstablehnung, während bei sehr sozialen Menschen eine höhere Impulsivität recht deutlich zu mehr Selbstablehnung führt. Das beweist natürlich nicht, dass der vorgeschlagene Mechanismus stimmt. Aber zumindest könnte man den Mechanismus in den Müll werfen, sollte der Test versagen.

Ein Datensatz aus dem Harvard Dataverse mit n = 583 Teilnehmern (USA, 55 % Frauen, mittleres Alter 36 Jahre, Minimum 14 Jahre bis Maximum 84 Jahre, 40 % Singles) hilft hier weiter. Erstmal der 3D-Plot Selbstablehnung – Impulsivität – Agreeableness und die seperaten Regressionen für jede der vier Agreeableness-Gruppen von (VERY LOW, LOW, HIGH, VERY HIGH).

Man sieht, am Plot wie auch den Regressionen, dass der Test erfolgreich ist. In der Gruppe der wenig sozialen Menschen steigt die Selbstablehnung mit der Impulsivität an, aber nur in einem geringen Maß (ß = +0,13 oder +0,5 Standardabweichungen über die gesamte Skala, insignifikanter Effekt p > 0,05). Bei sehr sozialen Menschen steigt die Selbstablehnung viel stärker mit steigender Impulsivität an (ß = +0,34 oder +1,6 Standardabweichungen, signifikanter Effekt p < 0,001). Die Hypothese bleibt also nach diesem Härtetest plausibel.

Eine weitere (zugegebenermaßen sehr schwache) Stütze für die Plausibilität der Hypothese kommt aus der unterschiedlichen Empfindlichkeit für Moralität. Laut dem obigen Mechanismus führt erst die Reflektion der Diskrepanz zu Selbstablehnung. Die Diskrepanz zwischen der sozialen Natur und den aggressiven Gedanken muss also von der Person a) erkannt werden und b) als problematisch eingestuft werden. Reflektion wurde in dem Datensatz nicht gemessen, Moralempfindlichkeit jedoch schon, nämlich als Teil der Psychopathie-Skala:

Je sozialer / empathischer eine Person, desto mehr Wert legt die Person auf die Moralität von Gedanken und Handlungen. Der Zusammenhang ist mit ß = -0,64 außerordentlich stark. Bei Menschen sozialer Natur ist also die Wahrscheinlichkeit deutlich höher, dass eine solche Diskrepanz im Laufe der Reflektion als problematisch eingestuft wird. Das passt gut ins Bild. Ein nächster Schritt wäre die Rolle der Reflektion für Selbstablehnung zu testen, jedoch habe ich bisher keine geeigneten Datensätze dafür gefunden und muss es entsprechend dabei belassen. Kritik an allem obigen ist natürlich herzlich willkommen.

Borderline und Theory of Mind

Eine ziemlich spannende und recht aktive Forschungsrichtung ist die Einbettung der Borderline Persönlichkeitsstörung (BPD) in den Kontext der Theory of Mind (ToM) / Mentalisierung. Therapieformen basierend darauf werden als die nächste Generation der Therapien für BPD gehandelt. Knapper Abriss: ToM bezieht sich auf die Fähigkeit, dass Verhalten anderer durch Zuschreibung von mentalen Zuständen zu erklären. Wir schreiben anderen Menschen Wünsche und Emotionen (affektive ToM) bzw. Wissen und Überzeugungen (kognitive ToM) zu, um zu erklären, wieso ein Mensch so und nicht anders gehandelt hat. Diese Fähigkeit entwickelt sich bei gesunden Kindern im Alter von etwa 4 Jahren, bei autistischen Kindern im Alter von etwa 9 Jahren. Eye-Tracking-Experimente zeigen, dass diese Fähigkeit nicht auf Menschen beschränkt ist, auch andere Primaten können auf diese Weise mentalisieren.

Eine Meta-Analyse von 2018 zeigt, dass Borderliner und gesunde Kontrollen ähnlich gut bei der affektiven ToM abschneiden, Borderliner jedoch ein klares Defizit (Cohen’s D = 0,44 / p < 0,01) bei der kognitiven ToM besitzen. Siehe Bild unten. Borderliner können also treffsicher, oder zumindest so treffsicher wie gesunde Kontrollpersonen, anderen Menschen Emotionen zuschreiben, haben aber Schwierigkeiten dabei, die Überzeugungen anderer akkurat zu erkennen. Statt akkurater Überzeugungen schreiben Borderliner anderen Menschen negativere und extremere Überzeugungen zu und versuchen das Verhalten anderer auf Basis dieser extremen Überzeugungen zu erklären.

Neurologische Untersuchungen lassen vermuten, dass es sich um eine Störung im Superior Temporal Sulcus (pSTS) handelt. Dieser Teil des Gehirns ist zentral beteiligt an Mentalisierung, nur ein anderes Wort für ToM, und zeigt deutliche Beeinträchtigungen bei Borderlinern. Die Störung selbst könnte wiederum durch ein unsicher-ambivalentes Bindungsschema entstehen. Sind die Eltern stabil und positiv, so erleben Kinder die Vorhersagbarkeit der Bezugsperson und können so eine verlässliche und widerspruchsfreie ToM entwickeln. Auch bei stabilen und negativen Eltern ist dies der Fall, wobei sich hier statt der sicheren eine vermeidende Bindung ergibt. In beiden Fällen zeigt die entwickelte ToM im Großen und Ganzen Erfolg bei der Erklärung und Vorhersage von Verhalten.

Problematisch im Bezug auf die ToM wird es im Falle von emotional instabilen Bezugspersonen. Die Unvorhersagbarkeit des Verhaltens verhindert die Entwicklung einer erfolgreichen ToM. Jegliche Erklärungsversuche des Verhaltens der Bezugperson durch das Kind müssen an der Instabilität der Bezugsperson scheitern. Diese Kinder starten entsprechend mit einem unsicher-ambivalenten Bindungsschema und einer unterentwickelten ToM ins Erwachsenenleben, ein Nährboden für BPD.

Eine gängige Ausprägung der Störung der ToM bei Borderlinern ist, neben der Störung in der kognitiven ToM, die sogenannte Hypermentalisierung. Siehe zum Beispiel hier, hier und hier. Die Hypermentalisierung ist eine Hyperaktivität der ToM, Zuschreibungen erfolgen exzessiv und über das gesunde Maß hinaus. Der Zielperson wird eine unrealistische Menge an Emotionen und Überzeugungen zugeordnet und so verschiedene, konkurrierende Theorien des Verhaltens jener Person entwickelt. Es wird vermutet, dass eine solche exzessive Analyse die Emotionsregulation stark beeinträchtigen kann (der Kern jeder BPD). Diese Hypermentalisierung, wie auch die negative Tönung von Zuschreibungen, ist nicht exklusiv bei BPD zu finden. Auch bei Depressionen ist dieses Denkmuster präsent. Insofern ist es leicht zu sehen, dass Therapieformen basierend auf ToM auch bei anderen psychischen Störungen Abhilfe schaffen könnten.

Das Gegenteil von Hypermentalisierung, das nur am Rande, ist Hypomentalisierung. Menschen mit einer Störung in dieser Richtung sind im Allgemeinen unreflektiert, im Bezug auf sich wie auch im Bezug auf mentale Zustände anderer, denken in Schwarz-Weiß-Schemen, machen massive und unzulässige Generalisierungen und neigen dazu, Dinge wortwörtlich zu nehmen. Erzählungen von Erfahrungen besitzen keine abstrakte Komponente und stellen keine übergeordneten Verbindungen her, sondern folgen einem wortwörtlichen Schema wie etwa “Er hat gesagt, dann hat sie gesagt, dann hat er gesagt”.

Eine weitere Komponente der Störung der ToM bei Borderlinern ist der Mind-World-Isomorphismus. Das Wort Isomorphismus wird auch in der Mathematik verwendet, vor allem in der Gruppentheorie, und bezeichnet eine Identität. Es handelt sich also um ein Denkmuster, dass das eigene mentale Abbild der Welt mit der Realität der Dinge gleichsetzt. Anders formuliert: Ein Mangel in der Erkenntnis, dass die eigene Vorstellung der Welt und der Menschen in ihr i.A. deutlich von den tatsächlichen Gegebenheiten abweicht. Mein Bauchgefühl sagt mir, dass dies an der Intensität der erfahrenen Emotionen liegt. Je intensiver die Emotionen sind, und das sind sie bei Borderlinern durch die mangelhafte Emotionsregulation fast immer, desto schwieriger wird es, eine solche Abgrenzung vorzunehmen.

Brain Zaps, was ist das? Meine Erfahrungen damit

Brain Zaps sind ein spannendes Phänomen, zu dem es aber bisher praktisch keine Studien gibt. Das Wissen dazu stützt sich hauptsächlich auf Erfahrungsberichte. Alles Folgende basiert auf meinen eigenen Erfahrungen mit Brain Zaps (8 Jahre lang, heute nicht mehr) und Foreneinträgen anderer. Die Ursachen scheinen recht klar zu sein. In fast allen Berichten wird eines dieser beiden Aspekte als Ursache beschrieben:

Der gemeinsame Nenner ist hier die plötzliche und starke Veränderung des Serotonin-Spiegels, bei MDMA-Konsum über einen Zeitraum von einigen Stunden, beim SSRI-Absetzsyndrom verteilt über einige Tage. Ich vermute dieser plötzliche Eingriff in das Serotonin-System löst Brain Zaps aus und einmal ausgelöst, können sie einige Tage bis einige Jahre bestehen. Brain Zaps können verschwinden wenn der Konsum von SSRI wieder aufgenommen wird. Und bleiben wohl permanent weg, wenn beim erneuten Absetzen das Medikament wie empfohlen ausgeschlichen wird.

Der Kern des Brain-Zaps-Phänomens ist ein plötzlicher und umfassender elektrischer Strom im Gehirn, welcher nach meiner Einschätzung wohl zwischen 0,1-0,5 s anhält. In seltenen Fällen eventuell auch etwas länger, aber nie länger als eine Sekunde. Der Strom ist nicht schmerzhaft, woraus man schließen kann, dass er relativ schwach ist. Also überhaupt nicht zu vergleichen mit einem Stromschlag von außen. Es ist, selbst bei den stärksten Zaps, ein recht sanfter und erträglicher Stromfluss.

Im Gegensatz zu einem Stromschlag von außen ist er aber nicht klar lokalisiert, sondern der Fluss scheint gleichzeitig im gesamten Gehirn aktiv zu sein. Etwa so, als ob alle Neuronen gleichzeitig feuern würden. Das, sowie der Fakt, dass es ein Strom ist, der im Laufe des Zaps anschwillt, lässt mich vermuten, dass es sich um eine Art Kettenreaktion handelt. Ein Neuron feuert den Startschuss, das veranlasst 3 benachbarte Neuronen zu feuern, im nächsten Schritt feuern dann alle 3² = 9 Nachbarn, im nächsten Schritt alle 3³ = 27 Nachbarn, usw … Die Zahlen dienen natürlich nur der Demonstration, aber ein solcher Mechanismus würde erklären a) wieso der Strom praktisch über das ganze Gehirn verteilt fließt und b) wieso im Laufe des Prozesses der Strom in der Stärke anschwillt.

Ich weiß nicht, ob es Menschen gibt, die Brain Zaps auch am Tag erleben, aber bei mir waren diese streng begrenzt auf den Moment des Einschlafens. Nie bei voller Wachheit und auch nie beim Übergang in Tagträume. Wenn sie auftraten, dann nur beim Übergang in den Schlaf. Vom plötzlichen Aufschrecken im Moment des Einschlafens berichten viele Menschen, die Brain Zaps waren nichts anderes als das, nur eben begleitet durch den elektrischen Strom.

Interessanterweise ist der elektrische Strom stark genug um ihn zu hören, wohl durch Körperschall an das Ohr geleitet. Ein sehr hohes, verrauschtes Summen bei schwachen Brain Zaps, ein scharfer Zisch bei der starken Variante. Tiefe Anteile im Ton fehlen komplett. Ich schätze das, was man hört, sind alles Frequenzen > 1000 Hz. Diese Charakteristik kann am Strom selbst oder dem System der Weiterleitung an das Ohr liegen. Ich vermute den Strom selbst, da Körperschall i.d.R. tiefe Frequenzen gut weiterleitet bzw. sogar besser, als die hohen Frequenzen. Der Strom ist auch stark genug, um eine visuelle Empfindung auszulösen, wobei es sich immer um ein weißes Licht gehandelt hat. Starke Zaps können auch reflexhafte Bewegungen auslösen, wie etwa ein Zucken des Beines.

Brain Zaps scheinen eine psychosomatische Komponente zu haben. Ihre Häufigkeit und Stärke scheint an das allgemeine Stressniveau gekoppelt zu sein. In entspannten Phasen waren es ein Zap moderater Stärke pro Woche, in den stressigsten Phasen etwa ein starker Zap pro Tag. Auch mehrere Zaps hintereinander, jeweils bei erneuten Einschlafversuchen, sind in besonders stressigen Phasen aufgetreten.

Psychologen und Ärzte gehen davon aus, dass Brain Zaps keine Schädigung verursachen. Das genieße ich noch mit Vorsicht, da es keine entsprechenden Studien gibt, die dies zeigen würden, und das Verständnis des Gehirns im Allgemeinen noch in den Kinderschuhen steckt. Aber zumindest gibt es keinen bekannten Mechanismus, nach welchem Brain Zaps schädigend sein könnten und auch in den Erfahrungsberichten finden sich keine Geschichten von Schädigung.

Brain Zaps können sehr angenehm und entspannend sein! Die beste Analogie ist der Vergleich mit dem Reboot eines langsamen Computers. Lässt man einen Computer lange ohne einen Neustart laufen, dann wird der Computer durch die Summierung von Hintergrundprozessen immer langsamer, bis er nur noch kriecht. Nach einem Neustart läuft jedoch alles wieder wie geschmiert. Brain Zaps sind (manchmal) in der Qualität sehr ähnlich. Eine matschige Mischung an ungeordneten Gedanken wird durch den Brain Zap “defibrilliert” und danach besteht eine “ruhige Klarheit”. Auch bei Spannungen im Kopf bzw. Kopfschmerzen kann ein Brain Zap eine plötzliche und wohltuende Entspannung bringen. Ich gebe zu dass ich, wenn ich mal mit Kopfschmerzen ins Bett gegangen bin, sogar bewusst auf den entspannenden Brain Zap gewartet habe.

Interessant ist es, vor diesem Hintergrund den Bogen zur Elektroschock-Therapie zu schlagen. Diese wird schon seit Jahrzehnten (auch heute noch) bei der Behandlung von Depressionen eingesetzt, welche sich resistent gegenüber Psychotherapie und Medikamente zeigen und das mit Erfolg. Handelt es sich bei dem Brain-Zaps um Schocks ähnlicher Natur mit ähnlicher Wirkung? Eine Art hausgemachter Elektroschock-Therapie? Lohnt es sich, diese “Defibrillation matschiger Gedanken” zu optimieren und auszuweiten? Die Vorstellung, ein Gerät zu haben, mit welchem man mal schnell sein Gehirn rebooten kann, klingt jedenfalls verlockend. Definitiv ein Feature, dass ich mir für das iPhone 12 wünsche.

Eine neue Perspektive: Borderline als gutmütige Form der Psychopathie

Dieser Eintrag basiert auf der Studie mit dem imposanten Namen Genetic and environmental overlap between borderline personality disorder traits and psychopathy: evidence for promotive effects of factor 2 and protective effects of factor 1 von Hunt, veröffentlicht 2015 im Journal Psychological Medicine. Sie bietet einen guten Überblick zum Stand der Forschung zur Verbindung zwischen Borderline und Psychopathie und stützt die Erkenntnisse mit einem umfangreichen Zwillingsexperiment.

Psychopathie, so wie sie aktuell verstanden wird, wird i.d.R. in zwei Faktoren unterteilt. Faktor 1 umfasst die Aspekte der Persönlichkeit, die im Big Five Model durch die Dimensionen Agreeableness und emotionale Stabilität erfasst werden. Psychopathie ist immer eine Kombination aus niedriger Agreeableness (Mangel an Empathie, Egoismus) gepaart mit hoher emotionaler Stabilität (Furchtlosigkeit, Stressresistenz). Faktor 2 umfasst impulsiv-antisoziales Verhalten wie etwa Verantwortungslosigkeit, Empfänglichkeit für Langeweile, Agressivität, Kriminalität. Da die Faktoren selbst keine Korrelation zeigen, lassen sich vier Grenzfälle abstrahieren:

  • Fall 1: Niedriges F1 + Niedriges F2
  • Fall 2: Niedriges F1 + Hohes F2
  • Fall 3: Hohes F1 + Niedriges F2
  • Fall 4: Hohes F1 + Hohes F2

(Hinweis: Bei enger Korrelation von F1 und F2 würde die Betrachtung der mittleren beiden Fälle wenig Sinn machen)

Fall 1 ist Normalverhalten, Fall 4 ist Psychopathie, aber was liegt dazwischen? Hier kommt die obige Studie ins Spiel. Sie bestätigt mit dem Zwillingsexperiment was schon andere Studien angedeutet hatten, nämlich dass die Borderline-Persönlichkeit negativ mit F1 und positiv mit F2 korreliert und somit mit dem Fall 2 übereinstimmt. Menschen mit einer solchen Persönlichkeitsstruktur (oder bei sehr hoher Ausprägung: Störung) zeigen dasselben impulsive Verhalten wie sie von der Psychopathie bekannt ist, jedoch ohne die begleitende Empathielosigkeit und Furchtlosigkeit.

Die Studie formuliert dies etwas unglücklich, indem sie F1 als einen “schützenden Faktor” vor Borderline bezeichnet. Für mich liest sich das wie eine unangemessene Verharmlosung von Egoismus und Dämonisierung von impulsivem Verhalten. Ich interpretiere es gerne in einem positiveren Licht, nämlich Borderline als Schutz vor der Ausprägung von F1 bei Vorhandensein von F2. Kurz: Eine gutmütige Form von Psychopathie.

Eine weitere gutmütige Form bildet Fall 3: Der Schutz vor Ausprägung von F2 bei Vorhandensein von F1. Dies wären empathielose und furchtlose Menschen, die jedoch genug Selbstkontrolle besitzen, um sozialverträgliches Verhalten zu zeigen. Man darf vermuten, dass es sich hier um F1 in Kombination mit einer guten Portion des Big Five Merkmals Conscientiousness (Verlässlichkeit, Ordentlichkeit) handelt. Für diese Menschen gibt es keinen besonderen Namen, wahrscheinlich weil sie i.d.R. nicht auffallen. Durch das konforme Verhalten sind sie von außen nicht vom Normalfall zu unterscheiden.

Insgesamt erhalten wir also das folgende Schema:

  • Fall 1: Niedriges F1 + Niedriges F2 = Normalfall (1:1)
  • Fall 2: Niedriges F1 + Hohes F2 = Borderline (1:1)
  • Fall 3: Hohes F1 + Niedriges F2 = ? (20:1)
  • Fall 4: Hohes F1 + Hohes F2 = Psychopathie (20:1)

In Klammern habe noch ich die üblich festgestellten Verhältnisse der Geschlechter angefügt. Bei der Borderline-Persönlichkeit gibt es, entgegen dem oft wiederholten Mythos, kein Ungleichgewicht – Männer und Frauen sind etwa zum gleichen Teil betroffen (wie die obige Studie nochmals experimentell feststellt). Psychopathie ist hingegen klar männerdominiert. Diese Dominanz wird durch F1 erzeugt. Es gibt in der Literatur viele Nachweise dafür, dass Frauen zum einen eine höhere Agreeableness und eine niedrigere emotionale Stabilität besitzen – alles natürlich im Mittel. Geringe Unterschiede im Mittel können sich jedoch, wie ich in einem anderen Blog-Eintrag demonstriert habe, in sehr deutliche Unterschiede am Rand der Normalverteilung übersetzen. F1 ist somit eine klassische männliche Kombination der Big Five Persönlichkeitsmerkmale. Entsprechend dürfte Fall 3, ebenso wie die Psychopathie, ein starkes Ungleichgewicht in der Größenordnung 20:1 zeigen.

Die Studie geht auch auf die genetische Erblichkeit von F1, F2 und Borderline ein. Die Merkmale F1 und F2 werden in ihrer groben Ausprägung mit einer Wahrscheinlichkeit von etwa 60 % an Nachkommen weitergegeben, Borderline mit etwa 40 %. Das geht gut auf. Denkt man sich Borderline als Kombination von niedrigem F1 und hohem F2, so würde man aus der Erblichkeit von F1 und F2 eine Erblichkeit von 0,60² = 36 % für Borderline erwarten, praktisch eine Punktlandung.

Prädiktoren für Psychopathie

Mithilfe des Subs r/samplesize habe ich eine Umfrage durchgeführt (nach Bereinigung n = 595), von der ich wohl noch lange zehren kann. Eine Thema war dabei die dunkle Triade, gemessen mittels dem relativ kurzen, aber gut-validierten Dirty Dozen Instrument. Ich war vor allem daran interessiert, ob es neben dem offensichtlichen Faktor Empathie Aspekte der Kindheit gibt, die gute Prädiktoren für Psychopathie im späteren Leben sind. Eine Regression zeigt, dass Parentifikation ein deutlicher Riskofaktor für spätere Psychopathie ist (p < 0,001). Parentifikation ist eine Umkehrung der klassischen Eltern-Kind-Rolle. Statt Unterstützung der Eltern zu erfahren, wird das Kind dazu gezwungen sich um einen Elternteil zu kümmern, etwa weil dieser Elternteil schwerkrank ist, emotional instabil oder narzisstisch ist. Das führt natürlich nicht immer zu Psychopathie, ein prinzipieller Mangel an Empathie ist immer noch die grundlegende Vorraussetzung, aber es erhöht das Risiko für Psychopathie deutlich.

Daneben ist das Aufwachsen in einem wohlhabenden Haushalt ein signifikanter Risikofaktor für spätere Psychopathie (p < 0,001). Ich könnte nur darüber spekulieren, woher dieser Zusammenhang kommt und ob es sich hier um eine Ursache-Wirkung-Dynamik handelt. Aber das Resultat selbst scheint sehr verlässlich.

Der R² ist exzellent für so ein simples Modell – Psychopathie im späteren Leben lässt sich überraschend gut aus nur drei Faktoren (Empathie, Parentifikation, Wohlstand der Eltern) vorhersagen, wobei der Einfluss von Parentifikation logarithmisch statt linear ist. Diese Variabeln erklären 54 % der der gesamten Varianz um die 70 % der erklärbaren Varianz. Daraus kann man schließen, dass Psychopathie zu einem sehr großen Teil im Kindes- und Jugendalter entsteht.

Psychopathie ist nicht automatisch gleichzusetzen mit krimineller oder gewaltätiger Lebensführung. Viele Menschen, die eine hohe psychopathische Neigung besitzen, finden einen Weg sich in die Gesellschaft zu integrieren und begehen keine schweren Verbrechen. Abgesehen von den psychopathischen Überzeugungen handeln diese Menschen “wie du und ich”: sie führen Beziehungen, unternehmen etwas mit Freunden, gehen einem Job nach, etc … Jeder hat sicherlich schon einige Psychopathen getroffen, ohne es zu merken.

Wie wahrscheinlich ist es, jemanden mit derselben Persönlichkeit zu treffen?

Jedes der Big-Five-Merkmale genügt einer Standardverteilung, so dass etwa 16 % aller Menschen eine Standardabweichung oder mehr unter dem Durchschnitt liegen (LOW), 68 % im Durchschnitt (AVERAGE) und nochmals 16 % eine Standardabweichung oder mehr über dem Durchschnitt (HIGH). Gegeben eine Person mit einem bestimmten Big-Five-Persönlichkeitsprofil, zum Beispiel:

  • Extraversion: AVERAGE
  • Agreeableness: HIGH
  • Conscientiousness: LOW
  • Openness / Intellect: HIGH
  • Neuroticism: HIGH

Wie wahrscheinlich ist es, dass eine zufällig gewählte Person exakt dasselbe Profil besitzt? Diese Wahrscheinlichkeit macht sich nur daran fest, wieviele der fünf Merkmale im Durchschnitt liegen (n). Im obigen Beispiel wäre n = 1, da es nur ein Merkmal gibt, das im Durchschnitt liegt. Mit etwas Nachdenken kommt man auf diese Formel für die Wahrscheinlichkeit, dass eine zufällig gewählte Person ein gegebenes Persönlichkeitsprofil erfüllt*:

p(n) = 0,68^n * 0,16^(5-n)

Liegen alle Merkmale einer Person im Durchschnitt, also n = 5, so ist die Wahrscheinlichkeit, dass eine Zufallsbekanntschaft in der Persönlichkeit übereinstimmend ist, etwa 15 % oder 1 zu 7. Hier die gesamte Tabelle:

  • n = 5 —> p = 15 % = 1/7
  • n = 4 —> p = 4 % = 1/25
  • n = 3 —> p = 1 % = 1/100
  • n = 2 —> p = 0,2 % = 1/500
  • n = 1 —> p = 0,05 % = 1/2.000
  • n = 0 —> p = 0,01 % = 1/10.000

Für das obige Profil, welches meines ist, beträgt die Wahrscheinlichkeit nur 1 zu 2.000 eine vollkommen gleichgestrickte Person zu treffen. In der Stadt Freiburg gäbe es demnach, das natürlich rein nach dem Big-Five-Profil beurteilt, 130 Versionen von mir. Wer überall im Normbereich liegt, findet hingegen stolze 37.000 Big-Five-Doppelgänger in Freiburg.

Man kann beides positiv oder negativ sehen. Romantische Beziehungen basieren, wie in anderen Blog-Einträgen festgestellt, vor allem auf dem Prinzip “Gleich und Gleich”. Auffälligkeiten in den Big-Five-Merkmal reduzieren somit den Pool an potentiellen Partnern sind vermutlich auch gute Prediktoren dafür, wie lange eine Person Single bleibt. Umgekehrt stiften Abweichungen in den Big-Five-Merkmalen mehr Identität für das Selbst, im Sinne von klaren und zeitlich-stabilen** Stärken und Schwächen sowie konstanten Interessen, und bieten auch mehr Möglichkeiten zum schnellen (und vor allem tiefgründigeren) Anknüpfen bei Personen, die bei einem der Merkmale eine übereinstimmende Abweichung zeigen.

* Diese Rechnung setzt vollkommene Unabhängigkeit der Big-Five-Merkmale voraus, welche in der Praxis nicht erfüllt ist. Das zeigt die Forschung zu den Big-Two bzw. dem generalisierten Faktor der Persönlichkeit. So treten z.B. Extraversion und Offenheit / Intellekt gehäuft zusammen auf und werden entsprechend in der Theorie der Big-Two zu einem Faktor (genannt Plasticity) zusammengefasst

** Jedes Big-Five-Merkmal zeigt einen typischen Altersverlauf, ist aber davon abgesehen über den Verlauf eines Lebens recht konstant

Koffein, Nikotin, Alkohol und Schlafprobleme

Es gibt eine solide Datenlage die zeigt, dass die obengenannten legalen Drogen sich negativ auf den Schlaf auswirken, interessant ist aber vor allem die Frage, ob es reicht den Konsum einige Stunden vor dem Schlaf einzustellen um den negativen Effekt zu eliminieren oder oder ob ein kompletter Entzug stattfinden muss. Hier ergeben sich einige Unterschiede.

Zu Koffein und Schlaf gibt es eine exzellente Übersicht über alle relevanten Studien von der Uni Zürich. Hier wird beschrieben, dass Koffein den Schlaf auch dann beeinträchtigt (gemessen durch Fragebögen zur Selbstbewertung wie auch objektive Instrumente wie z.B. EEGs), wenn es nur am Morgen konsumiert wird und kurz vor dem zu Bett gehen schon praktisch komplett aus dem Blut verschwunden ist. Ich wollte das nachprüfen mit einem Datensatz, in dem Leute einmal gefragt wurden, ob sie generell Koffein konsumieren und ob sie es auch in den Stunden vor dem Schlafen gehen tun. Die obige These bestätigt sich ziemlich deutlich:

Für Schlafprobleme relevant ist, wieviel Koffein man generell konsumiert. Ob dies kurz vor dem Schlafen gehen oder lange davor geschieht, spielt keine signifikante Rolle. Das sind schlechte Nachrichten für Koffein-Freunde. Einfach den Konsum zwei bis drei Halbwertzeiten (4-6 h) vor dem Schlaf einzustellen, reicht also nicht. Der Schaden ist mit dem Konsum schon getan, wann genau hat nur wenig Relevanz. Das könnte, Achtung Spekulation, am Aufbau eines Depots bei regelmäßigem Konsum liegen.

Anders scheint es bei Nikotin und Alkohol zu sein. Hier zeigt sich der allgemeine Konsum als recht unproblematisch für den Schlaf. Raucher oder regelmäßige Alkohol-Konsumenten schlafen generell nicht schlechter als andere. Ein negativer Effekt ergibt sich nur dann, wenn der Konsum in den Stunden vor dem zu Bett gehen stattfindet:

Mit Blick auf die Varianz hat Koffein den stärksten Einfluss: Es erklärt 9 % in der Varianz der Variable Schlafprobleme. Nikotin und Alkohol erklären jeweils um die 5 %.

Betreffend Alpträumen scheint vor allem Alkohol ein Problem darzustellen, Koffein und Nikotin zeigen keinen merklichen Einfluss. Hier die Regression nach Bereinigung der Alptraum-Häufigkeit nach dem Alter (starker Zusammenhang mit Alter und das auf nicht-lineare Weise, daher die Notwendigkeit einer separaten Bereinigung):

Generell werden Alpträume mit dem Alter seltener, aber zusätzlich gilt: Eine gute Ernährung reduziert das Risiko für Alpträume, Alkohol steigert es, sowohl wenn es kurz vor dem zu Bett gehen wie auch wenn es lange davor konsumiert wird. Das macht Sinn wenn man bedenkt, dass Alkohol als einzige der drei genannten legalen Drogen eine deutliche psychoaktive Wirkung besitzt. Koffein gibt einen Schub bei körperlicher Aktivierung, Nikotin bringt einen rapiden und kurzen Entspannungseffekt. Eine Veränderung des Bewusstseins findet bei beiden aber nicht statt.

In der Partnerschaft gilt: Gleich und Gleich gessellt sich gern

Bittet man Menschen, sich einen idealen Partner zu basteln, dann basteln sich die meisten Menschen ein Spiegelbild mit getauschtem Geschlecht. Dieses Prinzip besitzt robuste Gültigkeit und beide Geschlechter handeln danach. Der Traumpartner ist für die meisten Menschen ein Mensch mit denselben Big Five Persönlichkeitsmerkmalen und denselben Interessen. Für das alternative Modell, Gegensätze ziehen sich an, finden sich hingegen nirgendwo empirische Nachweise. Gut möglich, dass es vereinzelt gilt, vor allem bei Beziehungen, die von Anfang an auf Kurzzeit bedacht sind, aber auf die Mehrheit der Menschen trifft es nicht zu.

Hier einige Beispiele: Offene / intellektuelle Frauen wünschen sich offene / intellektuelle Männer und umgekehrt. Da die Offenheit eng mit der politischen Orientierung verbunden ist, zeigt das auch eine klare Tendenz zur Wahl eines Partners mit denselben politischen Vorstellungen.

Frauen:

Männer:

Herzliche / rücksichtsvolle Frauen wünschen sich herzliche / rücksichtsvolle Männer und umgekehrt. Interessant ist, dass hier bei beiden Geschlechtern die Beziehung zur Mutter eine Rolle spielt. Je besser die Beziehung zur Mutter, desto mehr Wert wird auf die Herzlichkeit des Partners gelegt.

Frauen:

Männer:

Ordentliche / zuverlässige Frauen wünschen sich ordentliche / zuverlässige Männer und umgekehrt. Bei Frauen spielt hier auch die Beziehung zur Mutter, das Alter und die Anzahl Kinder eine Rolle. In allen Fällen gilt: Je mehr davon, desto größer die Tendenz zu einem gewissenhaften Mann.

Frauen:

Männer:

Reisefreudige Frauen wünschen einen reisefreudigen Mann und umgekehrt. Der Effekt ist sogar deutlich stärker als bei den Persönlichkeitsmerkmalen. Die Reisefreudigkeit scheint für beide Geschlechter ein zentrales Selektionsmerkmal zu sein.

Frauen:

Männer:

Frauen, die keine Piercings oder Tattoos haben, wünschen sich in der Tendenz Männer ohne Piercings oder Tattoos und umgekehrt. Wobei bei Männern hier sogar die Gewissenhaftigkeit als Faktor Nummer Eins auftritt: Ordentliche / zuverlässige Männer bevorzugen Frauen, die weder Piercings noch Tattoos haben. Bei Frauen scheint das Alter hier eine Rolle zu spielen, wobei unklar ist, ob es sich um einen Alterseffekt oder Generationeneffekt handelt. Gut möglich, dass Millenial-Frauen, wenn sie erstmal die 50+ erreichen, nicht so abgeneigt gegen Tattoos sind wie Gen-X-Frauen oder Baby-Boomer-Frauen.

Frauen:

Männer:

All das zeigt, wie robust und umfassend das Prinzip “Gleich und Gleich” bei der Partnersuche ist. Es gilt für alle fünf Persönlichkeitsmerkmale, für Intelligenz und politische Richtung, für Interessen und für Methoden der Lebensführungen. Aber Achtung: Hier geht es nur um Wünsche. Ob Partnerschaften, die auf “Gleich und Gleich” basieren, auch erfolgreicher oder glücklicher sind als jene, die auf Gegensätzen / Ergänzungen basieren, lässt sich mit dem Datensatz nicht sagen.

Und generell gilt natürlich auch: Wer zu sehr auf “Gleich und Gleich” fixiert ist, dem gehen schnell die Optionen aus. Die Wahrscheinlichkeit, dass ein zufällig gewählter Mensch das gleiche Big-Five-Profil hat, beträgt, bei einer jeweiligen Einteilung in die Kategorien Niedrig / Mittel / Hoch, ganz grob 1 zu 250. Nur einmal unter 250 Dates wird man so jemanden treffen. Fordert man auch noch eine handvoll gleicher Interessen, landet man schnell bei 1 zu 10.000. Will man dazu noch einige Übereinstimmungen in der Lebensführung, dann bleibt man auf ewig Single. Ein rationaler Ansatz wäre einige Prioritäten zu bestimmen und den Rest gekonnt zu ignorieren. Oder Katzen.

Daddy’s Girl – Ganz so Falsch ist der Mythos nicht

Bei beiden Geschlechtern bestimmen sich die Präferenzen für einen Partner zu einem großen Teil aus der Persönlichkeit (nach dem Prinzip: Gleich und Gleich gessellt sich gern) sowie dem Alter. Doch besonders bei Frauen lässt sich auch ein deutlicher Einfluss durch die Beziehung mit den Eltern feststellen. Ein gutes Bild davon, wie groß der Einfluss verschiedener Bereiche ist, bekommt man durch die Betrachtung des Modellparameters R². Er gibt an, wieviel Varianz in der Zielvariable durch ein Set an unabhängigen Variablen erklärt wird. So sieht es bei Männern aus:

  • Eigene Persönlichkeit: 26 %
  • Alter: 23 %
  • Beziehung zur Mutter: 10 %
  • Beziehung zum Vater: 12 %

Man kann es so lesen: Der Faktor Persönlichkeit erklärt bei Männern 26 % der Varianz der Partnerpräferenzen. Bei 100 % könnte man die Partnerpräferenzen perfekt aus den Persönlichkeitsvariablen (hier die fünf Big Five Merkmale) vorhersagen, die gesame Varianz wäre erklärt, bei 0 % gäbe es hingegen keinerlei Zusammenhang. Man erkennt, dass zum einen Persönlichkeit und Alter einen gewichtigen Einfluss zeigen, 20-30 % der Varianz sind beachtlich für Modelle in der Psychologie, und dass zum anderen Persönlichkeit und Alter bei Männern einen stärkeren Einfluss auf die Partnerpräferenzen haben als die Beziehung zu den Eltern.

Bei Frauen ergibt sich ein etwas anderes Bild:

  • Eigene Persönlichkeit: 22 %
  • Alter: 29 %
  • Beziehung zur Mutter: 16 %
  • Beziehung zum Vater: 25 %

Persönlichkeit und Alter zeigen einen ähnlich starken Einfluss auf Partnerpräferenzen wie bei Männern, doch die Beziehung mit den Eltern, vor allem jene mit dem Vater, spielt hier eine gewichtigere Rolle. Es ist ein Klassiker der Küchenpsychologie, die Beziehungen von Frauen mit Bezug auf den Vater erklären zu wollen. Diese Idee zieht den Zusammenhang natürlich ins Groteske – ganz so alles-bestimmend ist der Einfluss nicht. Doch vollkommen unwahr ist der Mythos nicht. Die Beziehung mit dem Vater spielt eine deutlich größere Rolle bei Frauen als bei Männern wenn es um die Wahl eines Partners geht.

Eine alternative Möglichkeit die Stärke des Einflusses zu bewerten, wäre die Betrachtung der Summe der Absolutwerte der Regressionskoeffizienten in einem Modell, welches die Präferenzen aus der Beziehung zum Vater vorhersagt. Hier bestätigt sich das oben gesagte: Bei Männern beträgt diese Summe S = 0,52, bei Frauen S = 0,94. Ein recht ähnliches Verhältnis.

Wie konkret wirkt sich denn die Beziehung zum Vater bei Frauen aus? Frauen, die von einer guten Beziehung zum Vater berichten, legen mehr Wert auf einen Partner mit guter Karriere und Ambitionen. Aber Achtung vor Verallgemeinerungen! Erstens gibt es, wie bei allem mit viel Varianz, viele Ausnahmen von der Regel. Und zweitens muss man hier eher von Tendenz statt Regel sprechen. Dies im Hinterkopf, ist die Tendenz jedoch stark genug, dass man gemäß Cohen mit gutem Gewissen von einem starken Effekt sprechen darf.

Ebenso interessant und deutlich ausgeprägt ist diese Tendenz: Frauen mit guter Beziehung zum Vater legen auch mehr Wert auf einen empathischen / herzlichen Partner. Männern, denen diese Qualitäten fehlen, kommen besser bei Frauen an, denen die gute Bindung zum Vater fehlt. Auch hier kann man gemäß Cohen von einem starken Effekt sprechen.

Das bringt ein interessantes Problem: Menschen mit hohem Maß an Agreeableness erreichen seltener hohe Positionen als Menschen mit niedriger Agreeableness (und verdienen im Mittel auch weniger) weil sie sich seltener ohne Rücksicht auf andere durchsetzen und auch im Allgemeinen weniger konsequent ihre eigenen Interessen vertreten. Frauen mit guter Beziehung zum Vater scheinen also einen Typus Mann zu suchen, der in der Praxis nicht so gängig ist: Hohe Position plus viel Agreeableness.

Natürlich existieren diese Männer, aber die Kombination dieser Merkmale garantiert, dass der Pool an Kandidaten relativ klein ist. Und diese wenigen, die es gibt, werden auch entsprechend hart umworben sein. Besonders hart wird diese Suche für Frauen sein, die selbst eher wenig Herzlichkeit besitzen, denn herzliche Männer bevorzugen laut dem Datensatz sehr klar herzliche Frauen.

Die Geschichte hört hier nicht auf, aber ich werde den Rest kurz halten: Eine Frau mit guter Beziehung zum Vater gibt auch eher an, dass der Partner intelligent sein soll, aus der gleichen Kultur und Ethnie sein soll, psychisch gesund sein soll, reisfreudig sein soll und den Kontakt mit der Ex abbrechen soll. Praktisch an allen relevanten Punkten stellen Frauen mit enger Bindung zum Vater also höhere Ansprüche an den Partner.

Ist das gut oder schlecht? Es zeugt sicherlich davon, dass diese Frauen einen gesunden Selbstwert und klare Ziele besitzen. Problematisch ist es höchstens im Hinblick auf die Auswahl. Der Mann, der dies alles erfüllt, ist, wenn es ihn denn gibt, wohl längst vergeben oder hat es, bei all der freien Wahl, nicht eilig mit der Bindung. Kompromisse sind also vorprogrammiert.

Wie sich Partner-Präferenzen mit dem Alter ändern

Ein großer Datensatz (n = 530), bei dem Teilnehmer sich den idealen Partner basteln durften, zeigt dass sowohl bei Männern als auch bei Frauen das Alter einen Einfluss auf Partnerpräferenzen hat. Bei Frauen ist der Effekt deutlich stärker und umfassender als bei Männern. Der Datensatz liefert eine Erklärung dafür: Männer sind recht stark auf den Körper einer potentiellen Partnerin fokussiert und dieser Faktor bleibt bestimmend, egal ob der Mann nun 18 oder 60 Jahre alt ist. Bei Frauen ist die Situation differenzierter. Hier ergeben sich fundamentale Unterschiede bzgl Partnerpräferenzen mit steigendem Alter. Frauen werden auch, und das nur am Rande und als Vormerkung für eine spätere Analyse, viel stärker in ihren Präferenzen von der Beziehung zur Mutter und zum Vater beeinflusst. Vor allem der Einfluss durch den Vater sticht hervor. Aber zurück zum Alter.

Einen deutlichen Trend gibt es bei Frauen bezüglich der emotionalen Stabilität und der allgemeinen psychischen Gesundheit des Partners. Mit steigendem Alter legen Frauen mehr Wert darauf, dass der Partner eine gesunde Psyche besitzt. Bei Männern hingegen gibt es diesen Trend nicht. Hinweis: Die Kategorie* Developing umfasst Alter von 18 bis Mitte / Ende 20. Seniors beginnt ab 60 Jahren.

Auch die Intelligenz, Karriere und Humor des Partners gewinnt für Frauen mit steigendem Alter an Bedeutung und auch hier lohnt es sich anzumerken, dass bei Männern ein ähnlicher Trend nicht erkennbar ist.

Überraschend stark ist bei Frauen auch der Wandel hin zu Partnern aus der selben Kultur und Ethnie. Während junge Frauen bis Mitte / Ende 20 sehr offen gegenüber Partnern aus anderen Kulturkreisen sind, verschwindet diese Offenheit im höheren Alter. Die Effektstärke ist beeindruckend. Bei Männern, man mag es sich schon denken, gibt es diesen Trend nicht.

Vor allem sticht bei Frauen ins Auge, dass der Wandel in den Präferenzen bei vielen Variablen relativ abrupt geschieht – einmal im Alter Mitte / Ende 20 und dann nochmals im Seniorenalter. Ersteres lässt sich wohl damit erklären, dass Frauen in jenem Alter sich ernsthaft der Familiengründung hinwenden und somit Indikatoren für gute psychische und finanzielle Ressourcen (Stabilität, Karriere) an Bedeutung gewinnen.

Aber was ist mit den Männern? Wie erwähnt bleibt der Hauptfokus auf dem Körper der Partnerin, wobei sie jedoch auch, und das zur Verteidigung der Männer, Intelligenz und Humor hoch schätzen. Einer der wenigen statistisch signifikanten Änderungen ist der Blick auf die Ambitionen der Partnerin. Junge Männer möchten bevorzugt ambitionierte Partnerinnen. Dieser Blick schwindet mit fortschreitendem Alter.

Ältere Männer scheinen im Gegensatz zu jungen Männern auch nicht mehr so sehr darauf zu achten, ob eine potentielle Partnerin sportlich aktiv ist. Hier ist der Trend zum Ende hin recht abrupt.

Abgesehen von den Alterstrends gilt für beide Geschlechter jedoch insgesamt und mit deutlicher Tendenz, dass gleich und gleich sich gerne gessellt. Extrovertierte Frauen wollen extrovertierte Männer und umgekehrt. Empathische Frauen wollen empathische Männer und umgekehrt. Ordentliche Frauen wollen ordentliche Männer und umgekehrt. Offene Frauen wollen offene Männer und umgekehrt. Stabile Frauen wollen stabile Männer und umgekehrt. Wenn wir uns unseren idealen Partner basteln dürfen, dann basteln die meisten einen Partner, der diesselbe Persönlichkeit besitzt. Querkorrelationen sind selten und schwach. So möchten zum Beispiel stabile Menschen auch eher einen extrovertierten Partner, aber der Trend ist kaum der Rede wert. Gleich und gleich ist und bleibt der König unter Partnerpräferenzen.

Bleibt anzumerken, dass das, was sich Menschen als Ideal wünschen, nicht immer auch das ist, was sie in der Praxis wählen. Ob nun aus einem mangelndem Pool an Kandidaten oder der Realisation, dass gar keine Spannung in den Persönlichkeiten eine sehr langweilige Sache sein kann.

* Kategorien sind aufgespaltet mittels Fuzzy Logic

** Alle Änderungen sind in den Graphen in Einheiten Standardabweichung gegeben. Zur Bewertung der Stärke des Effekts findet sich hier eine Tabelle. Alles über 0,5 STD darf man als merklichen Effekt bezeichnen, alles über 0,8 STD als starken Effekt. Gemäß dieser Konvention sind praktisch alle oben aufgeführten Effekte stark.

Selbstfahrende Autos – Wer ist offen für den Wandel?

Vollautonome Autos haben sich in Tests gut behauptet und werden innerhalb der nächsten 10-20 Jahren die Straßen erobern. Aus psychologischer Sicht ist der Schritt eine große Herausforderung: Die Kontrolle wird den Insassen komplett entzogen, das Leben liegt in den Händen der Technik. Das ist zwar heute schon an vielen Stellen der Fall, zum Beispiel bei Landungen in CAT III-Bedingungen, bei denen die Landung durch einen Menschen sogar untersagt ist. Hier muss der Computer das Flugzeug landen. Doch das bleibt den Passagieren verborgen. Eine so offene Übergabe des Lebens an einen Computer wie sie im Zuge des Wandels im Individualverkehr kommen wird, ist eine Neuerung. Und nicht jeder ist offen dafür. Welche Faktoren sind gute Prediktoren für die Bereitschaft, sich dem selbstfahrenden Auto hinzugeben?

Ein Regressionsmodell auf Basis eines kleinen Datensatzes (n = 210, Harvard Dataverse, 58 % Männer, Mittleres Alter 40 Jahre, 44 % Singles) erlaubt einen Einblick. Alle Zusammenhänge haben eine solide statistische Signifikanz und dürften somit gut reproduzierbar sein, jedoch zeigt der geringe R²-Wert, dass das Modell in der vorliegenden Form noch unvollständig ist. Eine höhere Erklärungskraft lässt sich auf Basis dieser Umfrage leider nicht erreichen.

Solide Computerkenntnisse sind der wichtigste Prediktor. Wer in seinem Leben viele Erfahrungen mit Computern gesammelt hat und weiß, wie man sie bedient, ist eher bereit dazu, sein Leben in die Hand eines fahrenden Computers zu geben. Das ist wenig überraschend – Erfahrungen bringen Vertrautheit und Vertrautheit bringt Vertrauen. Das wäre natürlich auch ein exzellenter Ansatzpunkt für Menschen, die Angst vor dem selbstfahrenden Auto haben: Computer-Kurse besuchen, positive Erfahrungen in der digitalen Welt sammeln und Programme entdecken, die Freude bringen. In der Umfrage zeigen vor allem offene Menschen und Männer solide Kenntnisse im Umgang mit Computern.

Extravertierte (sozial aktive) Menschen scheinen den selbstfahrenden Autos kritischer gegenüber zu stehen als introvertierte Menschen, sogar deutlich kritischer. Einen Erklärungsansatz kann ich nicht bieten und auch der Datensatz liefert hier keine weiteren Hinweise. Eine vermittelnde Variable, die den Zusammenhang näher erklären könnte, lässt sich in der Umfrage leider nicht finden.

Der Faktor Need For Fairness zeigt sich ebenso als bedeutender Prediktor. Menschen, die ein hohes Bedürfnis zum Herstellen von Fairness haben (das sind natürlich vor allem Menschen, die auf der Agreeableness-Skala einen hohen Wert erreichen), begrüßen den technologischen Wandel. Das leuchtet ein wenn man bedenkt, dass die selbstfahrenden Autos den Menschen mit eingeschränkter Mobilität oder mit Ansätzen von Senilität ihre individuelle Freiheit zurückgeben werden. Auch Teenager werden von diesen Autos problemlos Gebrauch machen können. Der Individualverkehr gewinnt durch den Wandel ohne Zweifel an Fairness.

Ein etwas obskurerer Faktor ist Cannabis-Konsum. Kiffer scheinen das selbstfahrende Auto freimütiger zu akzeptieren. Ähnliches gilt, obwohl nicht im Modell gelistet, auch für Menschen mit erhöhtem Alkoholkonsum. Hier könnten pragmatische Überlegungen der Grund sein. Wer psychoaktive Stoffe konsumiert, der muss einige Stunden warten, bis er sich wieder ins Auto setzen kann. Diese Einschränkung wird mit dem selbstfahrenden Auto selbstverständlich fallen. Ein vollautonomes Auto ist ein Individualtaxi und Nüchternheit, oder überhaupt Wachheit, irrelevant.

Schlussendlich zeigt sich auch, dass Menschen, die empfänglich für Verschwörungstheorien sind, dem selbstfahrenden Auto relativ kritisch gegenüberstehen. Die Empfänglichkeit selbst scheint sich zu einem guten Teil aus dem Angst vor Kontrollverlust zu ergeben, ein möglicher Erklärungsansatz. Ein alternativer, oder ergänzender Erklärungsansatz wäre, dass diese Menschen eher den möglichen Missbrauch der Technologie im Blick haben. Das selbstfahrende Auto als Instrument der staatlichen Überwachung zum Beispiel. Oder das selbstfahrende Auto als Mordinstrument durch Hacking des Computers.

Schlafprobleme – Ein umfassendes Modell

Das folgende Regressionsmodell basiert auf einem Datensatz aus dem Harvard Dataverse mit n = 410 Teilnehmern (USA, 49 % Männer, Mittleres Alter 39 Jahre) und erklärt etwa 40 % in der Varianz der Variablen Schlafprobleme, was einer zufriedenstellenden Erklärungskraft entspricht. Weitere Hinweise zur Güte des Modells füge ich am Ende des Eintrags an.

IB bedeutet “In Bed”. Das bezieht sich auf Verhalten und Denkweisen, die beim Hinlegen zum Schlafen verfolgt werden. BB bedeutet “Before Bed”. Das bezieht sich auf jenes, was einige Stunden vor dem zu Bett gehen gemacht wird. Hier einige Beobachtungen:

  • Fitness hat den stärksten Effekt, wobei der förderliche Effekt erst ab Bewegung mit mittlerer Intensität (Jogging) beginnt. Bewegung mit niedriger Intensität (spazieren gehen) fördert zwar das allgemeine Wohlempfinden, kann jedoch Schlafprobleme nicht mildern.
  • Der Fokus auf den Körper nach dem Hinlegen zeigt solide eine Milderung von Schlafproblemen, was wiederum gefördert wird durch a) Fitness und b) aktives Betreiben von Mindfulness-Übungen (Meditation, Yoga).
  • Eine laute Nachbarschaft bringt Schlafprobleme, einmal auf direktem Wege (z.B. geweckt werden durch Geräusche) und zum anderen durch eine höhere körperliche Aktivierung beim Schlafen gehen.
  • Der Fokus auf Probleme nach dem Hinlegen ist Gift für den Schlaf. Dieser Fokus steht in enger Wechselwirkung mit der körperlichen Aktivierung beim Schlafen gehen und wird darüber hinaus gefördert durch eine lange Zeit vor einem elektronischen Bildschirm (>= 4 h).
  • Die körperliche Aktivierung nach dem Hinlegen ist neben der Fitness der Faktor mit der stärksten Wirkung. Sie ist praktisch ein Garant für schlechten Schlaf. Schon genannt ist der Einfluss durch laute Nachbarschaft und die Wechselwirkung mit dem Problemfokus, an diesem Punkt zeigt sich zusätzlich die Wirkung von Koffein.
  • Neben Koffein bringen auch die legalen Drogen Nikotin und Alkohol eine merkliche Verschlechterung des Schlafs, wobei das Modell bis auf Koffein leider keinen kausalen Weg der Wirkung aufzeigt. Als Faustregel ist es sicherlich empfehlenswert, zwei bis drei Halbwertzeiten* vor dem Schlafen gehen keine dieser legalen Drogen mehr zu konsumieren.
  • Interessant ist auch, was keinen Einfluss zeigt: Essen vor dem Schlafen gehen ist, entgegen gängiger Überzeugungen, kein Problem. Das Licht frühzeitig zu dämmen zeigt keine Wirkung, ebenso das Schlafen in kompletter Dunkelheit. Mittagsschläfchen haben auch keinen Einfluss auf Schlafprobleme. Die Uhrzeit des Schlafengehens zeigt einen minimalen Einfluss, ist aber nicht der Rede wert. Ob man um 20 Uhr oder 2 Uhr morgens ins Bett geht, macht zumindest im Hinblick auf Schlafprobleme keinen Unterschied.
  • Was einen Einfluss zeigt, aber nicht aufgelistet wird: Lesen vor dem Schlafen gehen ist förderlich für guten Schlaf, Filme und Serien schauen hat verstärkt Schlafprobleme. Im Modell sind diese Wirkungen enthalten da sie an statistischer Signifikanz verlieren wenn die obigen sechs Hauptfaktoren berücksichtigt werden, jedoch sind die Pfade unklar.
  • Hinweis zu Screen Time: Die Zeit vor dem Bildschirm zeigt keinen linearen Einfluss. Eine lineare Variation zeigt sich nur von im Bereich von 0 h bis zu 4 h. Ab 4 h bleibt die Wirkung konstant. Es macht für Schlafprobleme also keinen Unterschied, ob man 4 h oder 8 h vor dem Bildschirm verbringt. Bei 4 h ist der “Schaden” schon getan. Für eine förderliche Wirkung, muss die Zeit vor einem elektronischen Bildschirm mindestens unter 4 h bleiben. Alle anderen Variablen zeigen über den gesamten Bereich einen zufriedenstellend linearen Einfluss.
  • Die Regression getrennt nach Männern und Frauen zeigt keinen nennenswerten Unterschied. Man darf also davon ausgehen, dass das Modell für beide (bzw. alle) Geschlechter Gültigkeit besitzt. Auch die getrennte Analyse mit Bildungsgrad oder Anzahl Kinder als Selektionsvariable offenbart nichts, was der Rede wert wäre.

Das Modell zeigt, dass alleine regelmäßiges Jogging kombiniert mit Einhaltung der Regeln zu legalen Drogen eine Reduktion von 1 bis 1,5 Standardabweichungen bei Schlafproblemen bringen kann, was genug ist, um moderate Schlafprobleme komplett zu lösen und starke Schlafprobleme sehr deutlich zu mildern. Wird zusätzlich der Fokus nach dem Hinlegen bearbeitet, vom rationalem Denken weg zur Wahrnehmung des Körpers und dem Spinnen von Fantasien**, so ist auch eine Reduktion von zwei Standardabweichungen gut im Bereich des Möglichen. Die Verlagerung des Fokuses stellt sich zum Teil automatisch durch die erhöhte Fitness ein, kann aber auch zusätzlich durch Mindfulness-Übungen oder Hörbücher geschult werden. Der merkliche Einfluss einer lauten Nachbarschaft könnte dafür sprechen, Oropax beim Schlafen zu nutzen.

Hinweise zur Güte des Modells: Es erklärt etwa adj R² = 40 % der Varianz in der Variable Schlafprobleme. Der direkte Effekt der jeweiligen Variablen, berechnet nach dem Modell, deckt sich recht gut mit dem direkten Effekt, der im Datensatz beobachtet wird. Die Residuen genügen nur grob einer Normalverteilung, aber noch nahe genug daran um es zu akzeptieren. Für extreme Werte der Variable Schlafprobleme zeigt sich ein Trend in der Verteilung der Residuen, was bedeutet, dass das Modell bei diesen Werten nur begrenzte Gültigkeit besitzt. Probleme mit Kollinearität gibt es keine und für alle Teilnehmer ist Cook’s Distance < 0,30. Somit gibt es keine Ausreißer, die den Wert der Koeffizienten verzerren könnten. Für alle Variablen ist p < 0,01, Probleme mit Reproduktion sind dementsprechend keine zu erwarten. Insgesamt ist die Güte des Modells zufriedenstellend.

* Für die Halbwertzeit kann man für jede der legalen Drogen grob 2 h annehmen. Nach einer Halbwertzeit ist die Konzentration 50 % des Maximalwerts, nach zwei Halbwertzeiten 25 % und nach drei Halbwertzeiten 12,5 %. Je höher der Konsum, desto höher die maximale Konzentration, desto mehr Halbwertzeiten sollte man dem Körper vor dem Schlafen gehen geben, um die Stoffe abzubauen. Zwei Halbwertzeiten, entsprechend 4 h, könnten bei moderatem Konsum ausreichend sein, bei starkem Konsum eher drei Halbwertzeiten, entsprechend 6 h.

** Das Fantasieren nach dem Hinlegen an sich ist (gemessen am direkten Effekt) weder förderlich noch hinderlich für guten Schlaf. Es erweist sich aber als förderlich, wenn es als Substitut für den schädigenden Fokus auf Probleme verwendet wird.

Offenheit – Der aktuelle Stand der Forschung

Das Konstrukt Offenheit (Openness to Experience) ist eines der fünf Persönlichkeitsmerkmale gemäß dem Big Five Modell, dem Standardmodell für Persönlichkeit in der Psychologie. Die Offenheit einer Person bildet sich, wie auch die anderen vier Merkmale, schon im frühen Kindesalter aus (vor dem Alter von etwa fünf Jahren) und bleibt dann im Großen und Ganzen über die gesamte Lebenszeit unverändert. Anders gesagt: Menschen, die im Jugendalter nicht offen sind, sind es auch im Seniorenalter nicht und umgekehrt. Diese Stabilität über die Lebensdauer rechtfertigt die Bezeichnung von Offenheit als festes Merkmal der Persönlichkeit.

Das Merkmal Offenheit bestimmt die politische Einstellung einer Person. Generell gilt: Menschen mit hoher Offenheit sind liberal, Menschen mit geringer Offenheit sind konservativ. Der Zusammenhang ist sehr stark, mit einem Korrelationskoeffizienten in der Größenordnung r = -0,45. Offene Menschen zeigen auch eine deutlich geringere Empfänglichkeit für rechtsautoritäre Einstellungen (r = -0,35), weniger Vorurteile (r = -0,30) und einen geringeren Hang zu religiösem Fundamentalismus (r = -0,35). Aus psychologischer Sicht sind rechter und religiöser Extremismus zwei Seiten der gleichen Medaille, nämlich dem Mangel an Offenheit.

Openness ~rSizeSource
Conservativism-0,4174https://onlinelibrary.wiley.com/doi/abs/10.1111/j.0022-3506.2004.00276.x
Conservativism-0,57184Riemann et al. (1993)
Conservativism-0,31173Van Hiel and Mervielde (1996a; 1996b)
Right-Wing Authoritarianism-0,4174https://onlinelibrary.wiley.com/doi/abs/10.1111/j.0022-3506.2004.00276.x
Right-Wing Authoritarianism-0,36198Peterson et al. (1997)
Right-Wing Authoritarianism-0,33157Peterson et al. (1997)
Prejudice-0,30MetaDOI: 10.1177/1088868308319226
Religious Fundamentalism-0,4231Correlates of the Openness to Experience Domain (Proctor)

Offenheit zeigt sich neben der politischen Einstellung auch in der Denkweise: Offene Menschen denken kreativ (r = 0,50). Das bedeutet vor allem, nicht nur die Pfade der wahrscheinlichsten Assoziationen zu verfolgen, wie es beim strikt rationalen Denken geschieht, sondern auch unwahrscheinliche Assoziationen zu verfolgen. Eine Gefahr, bei hoher Offenheit in den Bereich absurder Assoziationen zu gelangen, scheint nicht zu bestehen. Zumindest zeigt sich keine Korrelation zwischen Offenheit und Psychotizismus oder der schizoiden Persönlichkeitsstörung.

Openness ~rSizeSource
Creative Thinking0,44234https://psycnet.apa.org/record/1987-28199-001
Creative Thinking0,58189Openness to experience, plasticity, and creativity: Exploring lower-order, high-order, and interactive effects (Silvia)
Creative Thinking0,46310Conceptions and Correlates of Openness to Experience (McCrae)
Creative Writing0,311035doi: 10.1111/jopy.12156
Creative Achievement0,361035doi: 10.1111/jopy.12156
Psychoticism0528Openness To Experience, Intellect, Schizotypal Personality Disorder, And Psychoticism (Chmielewski)

Vor dem Hintergrund des Hangs zur kreativen Denkweise überrascht es nicht, dass offene Menschen vor allem auch an ihrem Interesse an Kunst, Ästhetik und Musik zu erkennen sind:

Openness ~rSizeSource
Awe for Space Images0,48103Openness to Experience and Awe in Response to Nature and Music (Silvia)
Awe for Music0,35103Openness to Experience and Awe in Response to Nature and Music (Silvia)
Art Interest0,5325Correlates of the Openness to Experience Domain (Proctor)
Aesthetic Sense0,40254Conceptions and Correlates of Openness to Experience (McCrae)

Deutlich wirkt sich das Maß an Offenheit auch auf die Intelligenz aus (gemessen an den allgemeinen kognitiven Fähigkeiten, dem g-Faktor). Der Zusammenhang liegt in der Größenordnung r = 0,40. Wieso man sich die Intelligenz als abgeschlossenes Konstrukt denken kann, und der IQ-Test dieses Konstrukt auch verlässlich misst, habe ich hier aufgeschrieben.

Openness ~rSizeSource
Gen Cog Ability (g)0,50177doi: 10.1111/jopy.12156
Gen Cog Ability (g)0,39239doi: 10.1111/jopy.12156
Gen Cog Ability (g)0,24124doi: 10.1111/jopy.12156
Gen Cog Ability (g)0,46305doi: 10.1111/jopy.12156
Gen Cog Ability (g)0,37125DOI: 10.1080/00223891.2013.806327
Gen Cog Ability (g)0,31189DOI: 10.1080/00223891.2013.806327
Gen Cog Ability (g)0,33Ackerman and Heggestad (1997)
Gen Cog Ability (g)0,43Gignac, Stough, and Loukomitis (2004)
Childhood Intelligence0,33406doi: 10.1037/a0029066

Sehr interessant ist, dass trotz des Zusammenhangs mit Kreativität und Intelligenz, die Offenheit in keinem Zusammenhang mit Leistungen in der Uni oder auf der Arbeit steht. Offene Menschen erreichen keinen höheren akademischen Grad als Menschen mit geringer Offenheit und zeigen auch keine bessere Leistung im beruflichen Bereich. Dies liegt vor allem daran, dass Leistungen zum größten Teil durch die Dimensionen Gewissenhaftigkeit und Stabilität bestimmt werden und diese keine Relation, weder im positiven noch im negativen, mit Offenheit haben.

Openness ~rSizeSource
Job Performance0MetaDOI: 10.1111/j.0965-075X.2004.278_1.x
Job Satisfaction0MetaDOI: 10.1037//0021-9010.87.3.530
Academic Success0MetaMeta-Analysis of the Relationship Between the Big Five and Academic Success (Trapmann)

Hier noch einige weitere Nullresultate: Offene Menschen sind weder sportlich aktiver noch weniger sportlich aktiv als Menschen mit geringer Offenheit, zeigen keine Unterschiede bzgl. Zigarettenkonsum, haben keine Auffälligkeiten bzgl Chronotyp und, der wichtigste Punkt, zeigen keine besondere Repräsentation bei Persönlichkeitsstörungen. Dies macht die Offenheit zum Ausreißer unter den Persönlichkeitsmerkmalen. Jedes andere Merkmal lässt bei gewissen Persönlichkeitsstörungen gehäuft beobachten (siehe hier). Zum Beispiel die Extraversion bei Narzissmus oder der Neurotizismus bei Borderline. Offene Menschen zeigen jedoch, außer einer sehr geringen Überrepräsentation bei der histrionischen Persönlichkeitsstörung, an keiner Stelle eine merkliche Häufung.

Openness ~rSizeSource
Physical Activity0Metadoi: 10.1136/bjsm.2006.028860
Current Smoking0Metadoi: 10.1111/add.13079
Chronotype0MetaDOI: 10.1002/per.754
Openness ~rSizeSource
Personality Disorder0Metadoi: 10.1016/j.cpr.2008.07.002
Personality Disorder0MetaPersonality Disorders And The Five-Factor Model (Costa)
Histronic PD0,26102Representation of personality disorders in circumplex and five-factor space (Soldz)
Histronic PD0,20581Conceptions of Personality Disorders and Dimensions (Wiggins)
Histrionic PD0,25229Perceptions of people with personality disorders based on thin slices of behavior (Oltmanns)
Histrionic PD0,15Metadoi: 10.1016/j.cpr.2008.07.002
Histrionic PD0,15Metadoi: 10.1016/j.cpr.2008.07.002
Histrionic PD0,18233On The Relationship Of The Five-Factor Personality Model To Personality Disorders (Coolidge)

Für die Zukunft der Forschung ist vor allem der Zusammenhang zwischen Offenheit und Extraversion von Relevanz. Basierend auf der Beobachtung, dass die Big Five Merkmale in der Praxis häufig auf zwei Faktoren zusammenfallen, wobei die Offenheit und Extraversion einen gemeinsamen Faktor bilden (genannt Plasticity), gehen viele Forscher mittlerweile davon aus, dass die Big Five die Facetten einer Big Two oder eines allgemeinen Faktors der Persönlichkeit bilden (ähnlich dem g-Faktor in der Intelligenzforschung). Diese Interpretationen sind noch umstritten, die Korrelation zwischen Offenheit und Extraversion ist jedoch gut belegt.

Openness ~rSizeSource
Extraversion0,2579Openness and extraversion are associated with reduced latent inhibition (Peterson)
Extraversion0,261006Relationships among extraversion, openness to experience,and sensation seeking (Aluja)
Extraversion0,23140DOI: 10.1037/a0013742
Extraversion0,35175Sources of Openness/Intellect (DeYoung)

Intelligenz hat nur einen Faktor – Was bedeutet das?

Um zu verstehen, was der Satz “Intelligenz hat nur einen Faktor” bedeutet und welche Implikationen das hat, hier ein einleitendes Beispiel. Viele Menschen teilen Intelligenz in verschiedene Kategorien ein. Kategorien, von denen einige Hand in Hand gehen (sprachliche und musikalische Intelligenz) und andere gefühlt kollidieren (sprachliche und mathematische Intelligenz). Angenommen wir hätten einen Test, der sehr umfassend das Verständnis und die Fähigkeiten in den folgenden vier Kategorien testet:

  • Sprachlich
  • Musikalisch
  • Mathematisch
  • Wissenschaftlich

Gemäß den allgemeinen Vorstellungen sollte man erwarten, dass zwischen den sprachlichen und musikalischen Fähigkeiten eine starke positive Korrelation besteht (zum Beispiel +0.5) und ebenso zwischen den mathematischen und wissenschaftlichen Fähigkeiten (sagen wir +0.5). Wir würden desweiteren erwarten, dass es zwischen manchen Kategorien eine negative Korrelation gibt, zum Beispiel bei den Kategorien sprachlich und mathematisch. Setzen wir hier -0.5. Die Werte sind nur zum Zwecke der Demonstration, es zählt vor allem das Vorzeichen. Insgesamt sollte das Experiment also eine Korrelationstabelle der folgenden Art liefern:

SpracheMusikMatheWissenschaft
Sprache1+0,5-0,5-0,5
Musik+0,51-0,5-0,5
Mathe-0,5-0,51+0,5
Wissenschaft-0,5-0,5+0,51

An dieser Matrix erkennt man schnell, was mit was Hand in Hand geht und was eher miteinander kollidiert. Das einzige Problem: Es ist falsch. Die Experimente der letzten 100 Jahre sagen, dass die Tabelle eher so aussieht:

SpracheMusikMatheWissenschaft
Sprache1+0,5+0,5+0,5
Musik+0,51+0,5+0,5
Mathe+0,5+0,51+0,5
Wissenschaft+0,5+0,5+0,51

Alle Kategorien von komplexen kognitiven Fähigkeiten gehen Hand in Hand. Es gibt keine sprachliche oder mathematische Intelligenz, keine musikalische oder wissenschaftliche Intelligenz. Sondern nur einen allgemeinen Faktor der Intelligenz, welcher in der Psychologie als g-Faktor bezeichnet wird. Die obige Tabelle haben Wissenschaftler im Kopf, wenn sie davon sprechen, dass Intelligenz nur einen Faktor hat. Mit hoher Verlässlichkeit gilt: Wer leicht Sprachen lernt, der lernt auch schnell Musikinstrumente, kann flott bei Mathe durchsteigen und sich relativ mühelos in die Wissenschaft einarbeiten. Und umgekehrt: Wer in einer dieser Kategorien des kognitiven Schaffens viel Mühe hat, dem wird es auch in anderen Kategorien so gehen.

Das ist auch der Grund, wieso der IQ-Test in der Praxis soviel Aussagekraft besitzt, obwohl er nur eine kleine Selektion an kognitiven Fähigkeiten misst (viele davon sogar scheinbar ohne Relevanz zu tatsächlichen Aufgaben im Alltag oder der Arbeitswelt). Die Selektion in Art und Umfang ist nämlich im Großen und Ganzen irrelevant. Kognitive Fähigkeiten verschiedener Richtungen sind so eng verwoben, dass es reicht eine handvoll davon zu messen, um zu wissen wie es um alle restlichen bestellt ist. Es ist wie mit der Wassertemperatur. Möchte man die Temperatur des Wassers in der Badewanne wissen, muss man nicht jede mögliche Stelle messen. Es reicht, die Probe an einer Stelle zu nehmen und die Natur der Dinge versichert, dass es in der restlichen Wanne ähnlich aussieht. Die Temperatur an der Stelle ist der IQ, die Temperatur über die gesamte Wanne der g-Faktor. Sie sind, bis auf minimale Abweichungen, im Wert übereinstimmend.

Der klassische Einwand, dass der Begriff Intelligenz so zu eng gefasst wird ist legitim, aber auch etwas irreführend. Man muss unterscheiden zwischen Intelligenz, dem Begriff aus dem Volksmund und Intelligenz, dem Begriff aus der Wissenschaft. Im Volksmund möchte man oft emotionale und soziale Skills zur Intelligenz hinzurechnen. In der Wissenschaft zählen diese beiden Aspekte jedoch zur Persönlichkeit und nicht zur Intelligenz. Emotionale Skills sind bei dem Big-Five-Merkmal Stabilität zu finden, soziale Skills bei dem Merkmal Extraversion. Diese Unterscheidung ist sinnvoll, weil a) dies eine viel feinere Differenzierung erlaubt und b) es keine Korrelation zwischen g-Faktor, Stabilität und Extraversion gibt. Ohne besonderen Grund zur Zusammenfassung, etwa weil alle Prediktoren für eine bestimmte Variable sind, sollte man sie auch nicht zusammenfassen.

Die Besprechung der Konsequenzen dieser Ein-Faktor-Intelligenz ist leider eine unangenehme Geschichte. Ein niedriger IQ ist demnach ein Garant dafür, dass ein Mensch in keinem Bereich gute kognitive Leistungen erbringen wird und auch nie einen komplexen Berufe ergreifen kann. Was heißt in diesem Kontext niedrig? Das US-Militär hat mehr IQ-Tests als jede andere Institution der Welt durchgeführt und ist auf diesem Wege zu dem Schluss gekommen, dass Menschen mit einem IQ < 85 (etwa 10 % aller Menschen) prinzipiell abgewiesen werden müssen, da es keine Aufgaben gibt, zu denen diese sinnvoll eingesetzt werden können.

Das hat natürlich auch gesellschaftliche Konsequenzen über das Militär hinaus: Wird die Arbeitswelt komplexer, etwa weil eine Gesellschaft sich von der Landwirtschaft und Produktion hin zu Dienstleistungen bewegt, dann trifft es diese 10 % der Bevölkerung besonders hart. Da Umschulungen in diesem Falle nicht erfolgreich sein können, bleibt nur der Kampf um die wenigen verbleibenden Jobs mit niedriger Komplexität und die Stütze durch den Sozialstaat. Die Daten zeigen aber, dass in solchen Gesellschaften der IQ Schritt hält (Flynn-Effekt). Nimmt durch den Wandel die wirtschaftliche Leistung zu, so steigt auch der mittlere IQ an.

Noch unangenehmer ist die Diskussion um die ethnischen Unterschiede in der allgemeinen Intelligenz. Jüdische und asiatische Menschen, ob nun in den Heimatländern oder in der Diaspora lebend, zeigen einen IQ über dem Durchschnitt: 110-115 IQ-Punkte und somit eine Standardabweichung über der Norm von 100 (bei der weiße Europäer und Amerikaner liegen). Schwarze Menschen, in den USA wie auch in Afrika, liegen unter dem Durchschnittswert, im Mittel bei 80-90 IQ-Punkte. Natürlich ist das kein Grund, alte Rassentheorien auszugraben, denn der IQ ist nur zum Teil durch die Genetik bestimmt. Ein anderer Teil (20-50 %) stammt aus der Sozialisierung und Bildung. Wer in einem vernachlässigten Ghetto aufwächst oder noch schlimmer, mangelernährt in einem Dorf im Kongo, der bekommt nicht die gleichen Chancen zur Entwicklung der Persönlichkeit und Intelligenz wie ein wohl-versorgtes Kind in Deutschland.

Dass diese sozioökomischen Faktoren einen sehr großen Einfluss haben, zeigt, neben der engen Korrelation zwischen IQ und GDP, auch der Unterschied der allgemeinen Intelligenz innerhalb Deutschlands. Der IQ von Menschen in Ostdeutschland lag in den Zeiten vor der Wiedervereinigung etwa zehn Punkte unterhalb des IQs von Menschen in Westdeutschland. Eine genetische Erklärung, wie man sie oben noch vermuten könnte, ist hier natürlich praktisch ausgeschlossen. Intelligenz ist also kein Wert, den man im Vakuum betrachten kann, und nichts, was einer Ethnie eigen wäre. Unterschiede im Mittel von 10-20 IQ-Punkten lassen sich vollständig durch Unterschiede in Sozialisierung und Bildung erklären, ganz ohne Hinzunahme von Genetik. Das heißt natürlich nicht, dass eine genetische Kompenente fehlt. Intelligenz ist grob so stark vererblich (50-80 %) wie Alkoholismus oder Borderline-Persönlichkeitsstörungen.

Das Selbstverständliche muss nicht gesagt werden, darf aber auch nicht fehlen: Intelligenz hat nichts mit dem Wert eines Menschen zu tun, weder rechtlich noch unter Anwendung des gesunden Menschenverstands. Dazu kommt: Es gibt keine Korrelation* zwischen den Persönlichkeitsmerkmalen des Big-Five-Modells und Intelligenz. Eine höhere Intelligenz garantiert nichts außer der besagten stromlinienförmigen Kognition. Die Forschung zeigt ganz klar, dass Soziales Denken, Empathie, Lebensglück, etc … Dimensionen sind, die komplett abgekoppelt von Intelligenz sind. Kein Fall von Hand in Hand, kein Fall von Widerspruch, sondern einfach davon unabhängige Dimensionen. Entsprechend können intelligente Menschen Wohltäter sein, wie etwa Bill Gates, oder durchweg Bösartig, wie etwa Ted Bundy oder Dr. Josef Mengele.

*Ausnahme: Eine positive Korrelation zwischen Offenheit und Intelligenz in der Größenordnung r = 0.35. Sicherlich ein merklicher Zusammenhang, erklärt jedoch nur 0.352 = circa 12 % in der gesamten Varianz von Intelligenz.

Wahrnehmung beim Frontalcrash eines Flugzeugs

Vor langer Zeit habe ich mal diese Frage in einem Forum gelesen: Wenn man bei einem Flugzeug, das frontal in einen Berg crasht, hinten in der Kabine sitzt, würde man noch wahrnehmen wie die Kabine sich komprimiert? Also wie die Vorderwand sich nähert? Um das zu beantworten, benötigt man erstmal die Zeit, die ein Stimulus benötigt, um bewusst zu werden. Die Schätzungen in der Literatur gehen auseinander:

  • Efron 1967: > 60 ms
  • Pockett 2002: 50-80 ms
  • Koch 2004: 250 ms

Die Spanne der Schätzungen reicht also von 50-250 Millisekunden oder 1/20-1/4 einer Sekunde. Erstmal die Situation bei einem Crash mit Cruising-Geschwindigkeit. Diese ist typischerweise bei 850 km/h = 235 m/s. Ein A320 hat (ohne Abtrennungen) eine Kabinenlänge von etwa 35 m. Die Dauer der Kompression wäre, ohne Berücksichtigung des Widerstands, den die Kompression selbst der Bewegung entgegensetzt, 35 m / 235 m/s = 0,15 s = 150 ms. Durch den Widerstand des Materials könnte das auch gut bei 200 ms liegen. Welchen Wert man auch nimmt, eine klare Antwort ist nicht möglich. Laut Efron und Pockett würde ein Passagier im hinteren Teil des Flugzeugs die Kompression noch wahrnehmen, laut Koch läge die letzte bewusste Wahrnehmung wohl noch vor der Kompression.

Geschieht die Kollision im Landeanflug, dann wird die Interpretation verlässlicher. Im Landeanflug beträgt die Geschwindigkeit um die 280 km/h = 75 m/s. Das macht eine Kompressionszeit von 0,47 s = 470 ms ohne Widerstand und etwas mehr, vielleicht 550 ms, mit Widerstand. Jedenfalls ist es hier recht wahrscheinlich, dass ein Passagier die Kompression noch bewusst wahrnehmen würde. Und eventuell sogar noch darauf reagieren könnte, da Reaktionszeiten in Gefahren im nüchternen Zustand nur um die 200-300 ms betragen.

Diese Rechnung hat sich ausschließlich auf visuelle Stimuli bezogen, gilt wohl aber auch für das auditive Stimuli. Die durch die Luft vermittelten Schallwellen würden zwar einige Zeit benötigen, um hinten in der Kabine anzukommen (35 m / 320 m/s = 0.11 s = 110 ms). Und durch die Verzögerung kann es gut sein, dass diese Wellen selbst beim Crash im Landeanflug nicht mehr oder nur sehr knapp wahrnehmbar sind. Jedoch gelangt in einem Flugzeug der Schall auch durch das feste Material in den hinteren Bereich. Hier sind die Übetragungsgeschwindigkeiten deutlich höher. Bei Aluminium etwa 3000 m/s, so dass die Übetragungszeit nur 1 ms beträgt. Ein signifikanter Unterschied zwischen der Ankunft des Lichts und des Schalls ist, wenn man den Körperschall miteinbezieht, nicht zu erwarten.

Die besten Katzen-Subreddits (illustriert)

Ich hatte schon lange geplant, eine Link-Zusammenstellung zu den besten Subreddits für Katzenbilder und -videos zu machen. Here we go!


Illegally Smol Cats (233 000 Mitglieder)
Katzen, die so klein sind, dass es illegal sein sollte!

Kittens (103 000 Mitglieder)
Noch mehr Bilder von Baby-Kätzchen

What’s Wrong With Your Cat? (175 000 Mitglieder)
Alles über Katzen, die irgendwie defekt sind

Scrunchy Cats (58 000 Mitglieder)
Mein Favorit: Ein Subreddit speziell für Bilder von Katzen, die gerade am Niesen sind oder zumindest so aussehen, als ob sie Niesen müssen

Stuff on Cats (128 000 Mitglieder)
Bilder von Katzen, auf denen Zeug liegt

Tucked in Kitties (270 000 Mitglieder)
Katzen, die zugedeckt sind :)

Kneady Cats (131 000 Mitglieder)
Videos von Katzen, die gerade kneten! Eine Verhaltensweise, die bei Katzen Zufriedenheit und Wohlsein ausdrückt, ähnlich dem Schnurren

Cats Standing (527 000 Mitglieder)
Stehende Katzen

Cat Bellies (118 000 Mitglieder)
Alles zu Katzen, die auf dem Rücken liegen :)

Cat Pictures (124 000 Mitglieder)
Einfach noch mehr Bilder von Katzen!

Bengal Cats (10 000 Mitglieder)
Bilder von Bengal-Katzen! Bengal-Katzen haben eine zierliche Körperform, ein charakteristisches Fellmuster und sind die mutigste Katzenart

In dieser Videoreihe, in dem ein junges Bengal-Kätzchen in einen neuen Haushalt eingeführt wird, sieht man sehr schön den stürmischen Charakter

Cats Sitting Down (28 000 Mitglieder)
Bilder von Katzen, die wie Menschen dasitzen

Blurry Pictures of Cats (87 000 Mitglieder)
Auch sehr unterhaltsam: Verschwommene Bilder von Katzen xD

Startled Cats (797 000 Mitglieder)
Videos von Katzen, die sich erschrecken

Mildly Startled Cats (48 000 Mitglieder)
Katzen, die leicht überrascht dreinschauen

Cats Who Yell (255 000 Mitglieder)
Katzen, die laut miauen!

Drei wichtige Zusätze:
Katzen, die zwitschern
Katzen, die trillern
Katzen, die quieken

Cats Riding Motherfucking Roombas (14 000 Mitglieder)
Videos von Katzen, die auf Roombas (Saugrobotern) fahren

Cats Hugging Things (3 000 Mitglieder)
Ein kleines aber feines Sub mit Bilder umarmender Katzen!

Blep (315 000 Mitglieder)
Katzen, die ihre Zunge draußen haben :)

Das waren die Subs, denen ich folge, aber wer immer noch nicht genug hat, kann sich mal durch diesen Index für Katzen-Subs blättern.

Verlorene Lebensjahre pro Infektion

Eine interessante Metrik bei Krankheiten / Unfällen / Verbrechen ist die Anzahl verlorener Lebensjahre pro Ereignis. Hierbei wird nicht nur berücksichtigt, wie sich die Mortalität mit dem Alter verändert, sondern auch wie weit Betroffene jeweils von der Lebenserwartung entfernt sind. Die Differenz zur Lebenserwartung wird dabei als die Anzahl verlorener Lebensjahre im Falle eines Todes gewertet. Rechnet man das für Covid-19 durch mit a) dieser Verteilung der Mortalität und b) dieser Verteilung der Infektionen (nicht gut aufgebrochen, aber für eine Schätzung ausreichend), dann bekommt man folgendes:

  • Pro Infektion gehen 0,25 Lebensjahre verloren
  • Der Gruppe der 60-69 Jährigen gehen pro Infektion am meisten Lebensjahre verloren (circa 0,1 Lebensjahre)
  • Obiges Resultat kann man sich so denken: 60-69 Jährige haben zwar eine geringere Mortalität als 70-79 Jährige, aber ihnen geht pro Todesfall mehr Lebenszeit verloren als den 70-79 Jährigen.

Interessant ist auch die Frage, ob öffentliche Maßnahmen und die Zuwendung von Ressourcen sich an der reinen Verteilung der Mortalität orientieren sollten oder stattdessen an der Verteilung der verlorenen Lebenszeit. Während bei ersterem der Fokus auf dem Schutz der 80+ Jährigen liegen würde, ginge es bei letzterem vor allem um den Schutz von Menschen im “frischen Rentenalter”. Wie man es wohl macht bleibt es unfair.

Hinweis: Unerkannte Fälle würden diesen Wert stark beeinflussen. Kommen auf jeden erkannten Fall fünf unerkannte Fälle, eine konservative Schätzung, so wären es 0,05 verlorene Lebensjahre pro Infektion. Die Verhältnisse der Altersgruppen könnten sich dabei auch verschieben wenn das Verhältnis erkannter zu nicht-erkannter Fälle selbst altersabhängig ist.

Ist das Alter ein Risikofaktor bei Covid-19?

Da ältere Menschen eine deutlich höhere Lethalität bei Covid-19 zeigen als jüngere Menschen, scheint die obige Frage sich selbst zu beantworten. Die Lethalität ist für 80-Jährige etwa hundertmal höher als für 30-Jährige. Das alleine beantwortet die Frage jedoch nicht, da der typische 80-Jährige auch deutlich häufiger Diabetes, Bluthochdruck, eine Herzkrankheit und COPD hat als ein typischer 30-Jähriger. Um festzustellen, ob das Alter an sich ein Risikofaktor ist oder nicht, muss man einen “fairen Vergleich” machen.

Also nicht den typischen 80-Jährigen mit dem typischen 30-Jährigen vergleichen, sondern einen gesunden 80-Jährigen (kein Diabetes, kein Bluthochdruck, keine Herzkrankheit, kein COPD) mit einem gesunden 30-Jährigen. Denn trotz der offensichtlichen Ungleichheit in der Lethalität wäre es ohne eine solche Analyse denkbar, dass der Virus für einen 30-Jährigen mit all den genannten Risikofaktoren eine größe Gefahr darstellen kann als für einen gesunden 80-Jährigen.

Die Datenlage sagt im Moment leider Ja und Nein. Hier die Resultate einer Studie der Risikofaktoren, die im Lancet veröffentlicht wurde:

Der Blick sollte auf die Spalte Multivariable OR (Odds Ratio) fallen. Das zeigt die Erhöhung des Risikos wenn man alle relevanten Variablen gleichzeitig in ein Regressionsmodell nimmt. Kleine Anmerkung: Alle heißt hier Fünf. Die Anzahl an Variablen, die man in die Regression aufnehmen kann, ist praktisch durch die Anzahl Studienteilnehmer begrenzt. Als Faustformel gilt ein Prediktor pro zehn Teilnehmer. In der Studie wurden 54 Todesfälle betrachtet und entsprechend nur fünf Prediktoren gewählt.

An der Zeile Diabetes sieht man, dass nicht alles, was man erhöht bei Teilnehmern feststellt, wirklich ein Risiko darstellt. Manche Dinge sind einfach nur über eine Assoziation verknüpft. Ein blödes Beispiel, dass diese Idee veranschaulichen soll: Hätte man alle Patentien vorher gefragt, welche politische Einstellung sie haben, hätte man später feststellen können, dass es unter den Todesfällen mehr konservative Menschen gibt als in einer repräsentativen Vergleichsgruppe bzw. der Gruppe der Überlebenden. Das heißt natürlich nicht, dass konservative Einstellungen die Krankheit verstärken. Es ist nur eine assoziative Verbindung. Ältere Menschen sind eher konservativ. Ältere Menschen sterben eher an Covid-19. Entsprechend sterben konservative Menschen eher an Covid-19.

Wirklich interessant ist die Frage, was von einem Effekt übrig bleibt wenn man nach allen anderen Variablen bereinigt. Bereinigt man nach dem Alter, würde man sehen dass konservative Einstellungen kein Risikofaktor oder Schutzfaktor darstellen (OR = 1). Die Tabelle sagt also: Bereinigt man nach Diabetes, Bluthochdruck, eine Herzkrankheit und COPD, dann bleibt der Effekt des Alters bestehen. Das Alter ist also auch für sich genommen ein Risikofaktor. Ein gesunder 80-Jähriger ist durch den Virus gefährdeter als ein gesunder 30-Jähriger. Und wohl auch gefährdeter als ein 30-Jähriger mit einer handvoll Risikofaktoren.

Aber so richtig klar scheint das nicht zu sein. Ob ein Effekt übrig bleibt, kann davon abhängen welche Prediktoren verwendet werden. In dieser Studie wurden einige der obigen Risikofaktoren nicht aufgenommen, dafür aber der BMI hinzugenommen. Hier ist das Ergebnis:

Gemäß dieser Studie ist das Alter kein Risikofaktor. Auch Diabetes nicht. Hier zeigt sich nur das Geschlecht und der BMI als Risikofaktor. Mit etwas Fantasie auch der Bluthochdruck. Der P-Wert ist 0.08, also etwas höher als der normale Cut-Off, aber noch akzeptabel. Zumindest ist dieser p-Wert ein guter Hinweis darauf, dass kein p-Hacking betrieben wurde. Ehrliche Studien scheitern auch mal knapp.

Der Grund, wieso mehr alte Menschen an Covid-19 sterben, ist laut dieser Tabelle der bei alten Menschen erhöhte BMI und Blutdruck. Ein normalgewichtiger 80-Jähriger hätte die gleichen Chancen wie ein normalgewichtiger 30-Jähriger. Und sogar ein geringeres Risiko als ein übergewichtiger 30-Jähriger. Dieses Resultat darf man natürlich anzweifeln. Man sollte prinzipiell jedes Resultat jeder Studie anzweifeln solange es keine Replikationen gibt. Aber das Obige wäre der logische Schluss.

Diese Abweichungen in den Studien sollten kein Grund zur Sorge sein. Beide Studien sind sehr klein und es werden noch viele kleine Studien mit widersprüchlichen Ergebnissen erscheinen. Die Wahrheit wird sich in den Meta-Analysen zeigen.

PS: Bei der Interpretation der zweiten Studie habe ich etwas getrickst indem ich angenonmmen habe, dass ein höheres Risiko zur Notwendigkeit mechanischer Ventilation mit einem höheren Sterberisiko einhergeht. Die Schlussfolgerungen stehen und fallen mit der Richtigkeit dieser Annahme.

Faustformel zur Durchseuchung mit konstanter Rate

Nimmt man an, dass eine Population mit konstanter Rate (also einer gleichbleibenden Anzahl neuer Fälle pro Tag) durchseucht wird, dann lässt sich aus dem SEIR-Modell eine knappe und nützliche Faustformel für die maximale Anzahl neuer Fälle herleiten. Es gilt:

Maximale Rate = Betten-Kapazität / Dauer der Hospitalisierung

Wobei die Dauer der Hospitalisierung pro infizierter Person (und nicht etwa pro eingeliefertem Patient) berechnet wird. Solange die Durchseuchung mit dieser oder unterhalb dieser Rate erfolgt, wird das Gesundheitswesen der Pandemie standhalten. Schätzwerte für die Größen gebe ich unten an. Die Herleitung der Formel benötigt viel Schreibarbeit, folgt aber direkt aus nur zwei Annahmen:

  • Der Ausbruch erfolgt nach dem SEIR-Modell
  • Es gibt eine konstante Anzahl neuer Fälle pro Tag

Hier ist die Rechnung:

Die Differentialgleichung für E lässt sich durch Seperation der Variablen lösen, die Gleichung für I mit der Methode des integrierenden Faktors. Beide Lösungen genügen den Anfangsbedingungen E(0) = E0 und I(0) = I0. TE ist die Inkubationszeit, TI die symptomatische Zeit. Die Lösungen zeigen, dass nach einem kurzen Einschwingvorgang auch die Anzahl der Exponierten und Anzahl der Infizierten einen konstanten Wert einnehmen, auf dem sie bis zum Ende der Durchseuchung bleiben. Diese Grenzwerte sind wie folgt:

Anzahl Exponierte = Anzahl neuer Fälle pro Tag * Inkubationszeit

Anzahl Infizierte = Anzahl neuer Fälle pro Tag * Symptomatische Zeit

Letzteres unter der Annahme, dass E0 und I0 etwa Null sind. Behält man diese Annahmen bei und nimmt zur Vereinfachung noch TI >> 1 an, dann folgt die obige Formel. Welche Werte ergeben sich für Deutschland? Es gibt derzeit etwa 30.000 Betten mit Beatmungsmöglichkeit. Nehmen wir an, dass 20.000 davon für Covid-19-Patienten zur Verfügung stehen.

Bei der mittleren Dauer der Hospitalisierung ist es wichtig, auch jene miteinzubeziehen, die nicht ins Krankenhaus müssen. Mit einer Dunkelziffer von 1:5 von erfassten zu nicht-erfassten Fällen, folgt nach dieser Statistik, dass etwa 3 % aller Infizierten ins Krankenhaus müssen. Wir nehmen an, dass diese im Mittel dort 13 Tage verbleiben. Die mittlere Dauer der Hospitalisierung wäre also:

0.97 * 0 Tage + 0.03 * 13 Tage = 0,4 Tage pro infizierter Person

Damit folgt, dass das deutsche Gesundheitswesen etwa 50.000 neue Infektionen pro Tag abfangen könnte (1). Ohne Ausbau der Betten wäre das die maximale Rate, mit der die Bevölkerung durchseucht werden kann. Eine Durchseuchung von 42,5 Millionen Menschen (50 Millionen notwendig für Herdenschutz minus 15 % schon infiziert) wäre damit frühstens in 28 Monaten zu schaffen. Nimmt man jedoch an, dass die Anzahl verfügbarer Betten für Covid-19-Patienten auf 40.000 gesteigert werden kann, was machbar klingt, so würde sich dies auf 14 Monate reduzieren.

(1) Zum Vergleich: Laut Schätzung von Harald Lesch beträgt die Kapazität des deutschen Gesundheitswesens 40.000 neue Fälle pro Tag

Numerische Simulation: Der Effekt von Tests & Isolierung

Das Standard-SIR-Modell lässt sich leicht erweitern (siehe unten), um zu berücksichtigen das ein Teil der Infizierten isoliert wird. Wie strikt isoliert wird, hat einen sehr deutlichen Effekt auf a) die Belastung des Gesundheitswesens und b) der schlussendlichen Infektionsrate. Hier einmal der Verlauf, wenn Tests & Isolierung nur ungenügend betrieben werden (z.B. das Verlassen auf Selbstisolierung). Grün sind die Nie-Infizierten, Rot die nicht-isolierten Infizierten und Blau die isolierten Infizierten.

Bei strengerer Isolierung der Infizierten ergibt sich, wieder beginnend mit den Werten H = 100, M = I = 10, der folgende Verlauf:

Die Belastung des Gesundheitwesens kann man an der maximalen Steigung der Kurven erkennen. Mit ungenügender Isolierung beträgt die Abnahme der Nie-Infizierten in den ersten fünf Zeiteinheiten etwa 15 Einheiten pro Zeiteinheit, während bei strengerer Isolierung dieser Wert auf 11 Einheiten pro Zeiteinheit abnimmt. In der Praxis kann das den Unterschied zwischen funktionierender Pflege und der Notwendigkeit von Triage ausmachen. Man sieht auch, dass bei ungenügender Isolierung ein Virus auch sehr schnell fast die gesamte Population durchläuft, während sich durch Isolierung ein klar von Null verschiedenes Plateau einstellen kann.

Das alles wird deutlicher, wenn man die Isolierung noch strenger verlaufen lässt. Hier statt 5 Tage von Infektion zu Isolierung (erster Graph) und 3 Tage von Infektion zu Isolierung (zweiter Graph) der Verlauf wenn die Isolierung im Mittel schon 1 Tag nach Infektion erfolgen würde:

Hier das modifizierte SIR-Modell:

H sind die Nie-Infizierten, M die nicht-isolierten Infizierten, I die isolierten Infizierten und R die Erholten (mit Immunität). d/dt sind die entsprechenden Änderungsraten mit der Zeit. Es wird eine Tödlichkeit von Null angenommen. Der Kehrwert von Beta gibt die mittlere Dauer von Infektion zu Isolierung, der Kehrwert von Gamma die mittlere Dauer der Infektion, der Kehrwert von Delta die mittlere Dauer in Isolierung. Es muss gelten: 1/Beta+1/Delta = 1/Gamma.

Analytisch lässt sich das System leider nicht lösen, es lässt sich aber zeigen dass unter der Annahme H = const. (gut erfüllt für sehr große Populationen in der Anfangszeit des Ausbruchs) das Verhältnis I/M, also die Anzahl der Isolierten pro Nicht-Isoliertem, für hohe M einen Grenzwert annimmt, der vor allem davon abhängt, wie intensiv getestet wird. Das macht natürlich Sinn, da erst das Testen eine effektive Isolierung ermöglicht.

Die Simulation durchführen kann man mit dem Cell Server von Sage Math. Habe ich erst gestern entdeckt, ist eine sehr tolle Sache für Leute die Mathe machen wollen, aber keine Ahnung von Programmierung haben (wie ich). So sieht der Code zum Einfügen aus:

sage: (H,M,I,t) = var(‘H,M,I,t’)
sage: des = [-0.01*M*H, (0.01*H-0.8-0.2)*M, 0.8*M-0.2*I]
sage: ans = desolve_system_rk4(des, [H,M,I], ics=[0,100,10,10], ivar=t, end_points=20)
sage: tH=[[a[0],a[1]] for a in ans]
sage: tM=[[a[0],a[2]] for a in ans]
sage: tI=[[a[0],a[3]] for a in ans]
sage: line(tH,color=’green’)+line(tM,color=’red’)+line(tI,color=’blue’)

Die Strenge der Isolierung kann man variieren, indem man die 0,8 (in beiden Gleichungen gleichermaßen) verändert. Hohe Werte bedeuten schnelle Isolierung, niedrige Werte langsame Isolierung. Die jeweiligen Anfangswerte der Populationen kann man durch die Zahlen hinter ics= steuern. Einfach reinkopieren, bei Bedarf verändern und Evaluate drücken! Der Graph wird automatisch erzeugt.