Interessanter Artikel bei mikka:
Es geht darum, warum es trotz völliger Unwirksamkeit die eine oder andere „positive“ Studie zur Homöopathie gibt.
Zum Weiterlesen:
- Wie Man Homöopathie Wirksam Macht (mit Open Source Software), mikka am 7. September 2017
- „Studien-Daten“ und die Realitätsverweigerung der Homöopathen vom DZVhÄ, GWUP-Blog am 18. Oktober 2015
- Netter Versuch: Negativstudien sind für Homöopathen eine „Täuschung der Öffentlichkeit“, GWUP-Blog am 17. April 2017
- WissHom zu RCTs – Ergebniswäsche in fünf Gängen, Beweisaufnahme in Sachen Homöopathie am 15. Juni 2016
- 60 Seiten Papierverschwendung: Der „Reader“ der Homöopathen zum aktuellen Forschungsstand, GWUP-Blog am 29. Mai 2016
- Offizielle Erklärung des INH zur Veröffentlichung der WissHom: „Der aktuelle Stand der Forschung zur Homöopathie”
- Auch der Homöopath der englischen Königin schreibt Falsches! Beweisaufnahme in Sachen Homöopathie am 4. September 2017
- Stellungnahme des Informationsnetzwerks Homöopathie zur Beschwerde des HRI über das Review des australischen Gesundheitsministeriums (NHMRC) vom 14. Mai 2017
- Wissenschaft und Studien in Medizin und Pseudomedizin, Informationsnetzwerk Homöopathie am 16. März 2016
- „Aber es gibt doch Studien, die zeigen, dass Homöopathie wirkt!“ Informationsnetzwerk Homöopathie am 15. März 2016
11. September 2017 um 19:01
Mit Open-Source-Software hört sich zuerst vielversprechend an ;-)
Was man aber bekommt, ist ein in R-Code…was soll das? – Ich will richtigen Code :-)
Eine Anmerkung zum Code:
set.seed(1)
wird immer das gleiche Ergebnis erzielen, da die „Zufallswerte“ immer die gleichen sind.
Ich weiß nicht, wie das in ‚R‘ geht, aber in ‚C‘ würde man schreiben (in einem Windows-Betriebssystem):
srand(GetTickCount());
„GetTickCount()“ gibt die Zeit in Millisekunden zurück, seit dem Windows läuft, dadurch werden verschiedene „Zufallswerte“ erzeugt.
Als C-Programmierer wird man schon etwas neidisch, was ‚R‘ alles möglich macht, ohne das zu programmieren…aber ein C/C++-Programmierer wird jetzt nicht deshalb die Sprache wechseln, da ‚R‘ sehr spezialisiert ist und nicht die Freiheiten erlaubt, wie es die „richtigen“ Programmiersprachen erlauben ;-)
‚R‘ basiert auf ‚S‘, welche eine Entwicklung der Bell-Labiatories ist, die auch ‚C‘ entwickelt haben…
12. September 2017 um 19:43
@ Ralf i.V.:
Du machst uns doch jetzt nur ein X für ein U vor.
13. September 2017 um 08:33
Stimmt.
Er schreibt ja auch immer 0xFFU statt 255…
13. September 2017 um 15:05
Die Erklärung in dem verlinkten Artikel ist ja im Prinzip nicht falsch.
Die Grafik und das Programmbeispiel hat aber mit der Erklärung nichts zu tun. In dem Beispiel wird eine Zufallsauswahl aus einer t-Verteilung mit 4 Freiheitsgraden gezogen, und dann wird geschaut, ob das unterschiedlich zu einer Standardnormalverteilung ist. diese beiden Verteilungen sind ähnlich, aber nicht gleich. Der Graph zeigt eine Art Poweranalyse in der Art: Wie viele Daten muss ich erheben um einen tatsächlich vorhandenen Unterschied zwischen zwei Verteilungen auch statistisch nachweisen zu können.
Das ist das genaue Gegenteil von dem was im Text beschrieben wird.
Dort geht es ja gerade darum, einen tatsächlich nicht vorhandenen Unterschied statistisch signifikant zu bekommen.
In dem beschriebenen Szenario würde man das mit einem zeitlichen Verlauf machen: Man nimmt zum Beispiel eine chronische Krankheit mit einem natürlich schwankenden Verlauf.
Dann erhebt man täglich einen Parameter der die Schwere der Symptome misst. Man vergleicht auf dieser Basis eine Verum-Gruppe mit einer Kontrollgruppe. Auch wenn kein Unterschied zwischen den Gruppen vorhanden ist, wird man irgendwann zufällig einen statistisch signifikanten Unterschied messen. An dem Tag beendet man die Studie und schreit „Hurra“.
Ich denke mal, das soll das beschriebene Szenario sein. Aber das Beispiel ist halt was ganz anderes.
@Ralf im Vollrausch: Völlig unabhängig von der Programmiersprache. Aber ein „passendes“ Beispiel hätte in R auch nicht mehr Zeilen.
13. September 2017 um 23:22
@Severin D.
Deshalb war ich ja auch so erstaunt, aber es ist eigentlich nicht verwunderlich, daß eine Statistik-Programmiersprache Funktionen für das Plotten von Funktione bietet.
In C und Windows-API, da müßte man zb: MoveTo(), LineTo() oder zusammenfasst „PolylineTo()“ und auch das würde nur innerhalb eines „ordentlichen“ Fenster funktionieren, das auch zuerst Programmiert werden müßte.
Mir ging es auch um die „Zufallswerte“, die nur Pseudo-Zufallswerte sind.
In diesem Programm werden immer die gleichen Werte erzeugt, da die „Saat“ (Seed) immer 1 ist. Aber Sie haben natürlich recht, das dies eigentlich für das Beispiel unerheblich ist.
Will man aber verschiedene Beispiele haben, so muß man immer eine andere „Seed“ setzen, dafür eignet sich immer die Zeit, in Millisekunden, solange das System läuft; auch wenn man ein Programm immer zum Systemstart lädt, sind doch diese Werte „zufällig“, da Ladezeiten immer unterschiedlich sind, zb durch die Fragmentierung der Festplatte usw…
Dadurch kann man sehr gut „Zufallszahlen“ erzeugen.
Eigentlich wollte ich nur etwas klugscheißen, wie ich es immer gern tue, insofern hat @noch’n Flo recht ;-)
@Ich
Aber nur wenn es „unsigned“ ist :-)
14. September 2017 um 01:16
Aufzählen, was man alles tun kann, wenn man einem Wirkungsnachweis auf die Sprünge helfen will, nützt recht wenig, wenn man gegen die Behauptung, „Studie XY hat belegt“ argumentieren will. Das bliebe nichts als eine Unterstellung, die genau so gut auch andersrum ginge.
Ist in einer Studie nachgeholfen worden, muss man das nachweisen und als Laie im konträren Gespräch disen Nachweis mit seiner Begründung anführen können. Wenn man die Seite der Empirie betrachtet, zählt allein das. Ich muss also Kenntnis haben von der Studie, die von meinem homöopathiegläubigen Gesprächspartner als empirischer Beleg angeführt wird. Ich muss sagen können, darin hat man diese und jene konkreten Fehler gemacht, Unsauberkeiten zugelassen oder gar manipuliert. Kann ich das nicht, steht bloß Aussage gegen Aussage.
Im verlinkten Text wird zwei mal auf nebenbei entdeckte Signifikanzen verwiesen. Wenn dem so ist, ist das so. Da ist es egal, ob das in der Studie gefragt war oder nicht. Signifikanz qualifiziert ja zunächst den Aussagewert der Messung. Was damit gestützt werden soll, ist eine zweite Frage.
14. September 2017 um 12:32
„….Stimmt.
Er schreibt ja auch immer 0xFFU statt 255…“
Nur zur Erklärung:
0xFF ist die hexadezimale Darstellung einer 255.
Das „U“ sagt dem Compiler, es ist eine vorzeichenlose (positive) Zahl.
16. September 2017 um 00:43
@Ralf im Vollrausch (noch’n Ralf :)
Das ist fuer das Beispiel aber unerheblich, der Autor haette jede Seed nehmen koennen da hier ja einfach nur ein paar Zahlen gebraucht werden. Anhand derer zeigt er ja nur dass man bei jedem Zahlenkorpus irgendwo mal eine Signifikanz erzielen kann.
Was die nebenbei entdeckten Signifikanzen angeht, auch hier gebe ich dem Autor recht: eine Wikungsstudie kann und soll nicht auf eine statistische Teilmenge reduziert werden, da fuer eine beliebige Menge immer eine Teilmenge besteht in der solch ein Nachweis erbracht werden kann. In anderen Worten, bei dem Muenzwurf ist 4:2 Kopf:Zahl durchaus nicht verwunderlich, 400:200 ist es schon. Umgekehrt kann auchS Signifikanz in der 4:2 gefunden werden wenn die Teilmenge „mein erster und zweiter Wurf“ ist und diese die beiden Zahl waren. „Muenzwurf nicht zufaellig fuer die ersten zwei Wuerfe“ ist keine gute Headline.
17. September 2017 um 18:11
@Armin Kirchenmaus:
„Nebenbei entdeckte Signifikanzen“ sind hoch problematisch, und es kommt sehr wohl und in erster Linie darauf an, wonach in einer Studie gefragt war.
Die Signifikanzen beruhen ja auf einem Hypothesentest, das heisst zwingend, dass die zu testende Hypothese vor der Studie formuliert sein muss.
Wenn man nachträglich interessante Zusammenhänge in den Daten findet, die man vorher nicht erwartet hat, dann generiert man eine neue Hypothese. Um diese zu testen, muss man eine neue Studie durchführen.
Man kann nicht mit den gleichen Daten eine Hypothese generieren und testen.