Seite 1 von 1

T Test Werte deutlich über 1

BeitragVerfasst: Mo 20. Jun 2022, 14:31
von Nadinee
Hallo,

ich bin schon seit einiger Zeit verzweifelt dabei meine Ergebnisse von Past bei Python zu reproduzieren. Da ich eine Kreuzkorrelation für einen sehr großen Datensatzt durchführen muss. Soweit so gut die Korrelationen klappen mittlerweile. Das Problem sind die Ergebnisse des T test. SIe liegen nicht zwischen 0 und 1. Ich komme leider nicht aus dem Gebiet der Statistik und würde mich freuen wenn der ein oder andere vielleicht einen Tipp für mich hat

n = len (df)
t = corr*(np.sqrt((n-2)/(1-(corr**2))))
print (t)
pvalues.append(t)

Das ist die Formel die ich für die Berechnung benutzt habe. N sind dabei immer die Anzahl an Wertepaaren die ich vergleichen will ist das richtig? Die werden ja mit jedem Timelag um eins weniger.

Vielen vielen Dank schonmal im Voraus!
Grüße,
Nadine

Re: T Test Werte deutlich über 1

BeitragVerfasst: Mo 20. Jun 2022, 15:01
von bele
Hallo Nadine,

Nadinee hat geschrieben:ich bin schon seit einiger Zeit verzweifelt dabei meine Ergebnisse von Past bei Python zu reproduzieren.

Wer ist Past?

Das Problem sind die Ergebnisse des T test. SIe liegen nicht zwischen 0 und 1. [...]

n = len (df)
t = corr*(np.sqrt((n-2)/(1-(corr**2))))


Ist das letzte eine Formel für den t-Wert? Wenn Du nicht aus der Statistik kommst, wäre es nicht viel einfacher, eine Function wie scipy.stats.pearsonr zu verwenden, die Dir sowohl den Koeffizienten als auch den p-Wert ausrechnet, als Formels selbst zu implementieren?


Code: Alles auswählen
        print (t)
        pvalues.append(t)


Ich weiß nicht genau, was Du da rechnest. Aber es sieht so aus, als würdest Du einen t-Wert berechnen und ihn dann unter dem Namen pvalues abspeichern. t-Werte und p-Werte sind sehr verschiedene Dinge und nur für p-Werte kann man sagen, dass sie Wahrscheinlichkeiten sind und deshalb zwischen 0 und 1 liegen. scipy.stats.pearsonr gibt p-Werte, keine t-Werte, zurück.

Das ist die Formel die ich für die Berechnung benutzt habe. N sind dabei immer die Anzahl an Wertepaaren die ich vergleichen will ist das richtig?

Sollen N und n jetzt das gleiche sein?

Die werden ja mit jedem Timelag um eins weniger.

Da fehlt mir jetzt der Kontext.

LG,
Bernhard

Re: T Test Werte deutlich über 1

BeitragVerfasst: Mo 20. Jun 2022, 20:05
von Nadinee
Ja tatsächlich habe ich bereits scipy.stats.pearsonr und numpy correlate und Korrelate und habe immer unterschiedliche Ergebnisse bekommen für ein und den selben Datensatz. Bei SPSS und Past kam allerdings das gleiche raus. Ich hab in den letzten Monaten nicht heraus gefunden woran es liegt deshalb versuche ich es selbst zu schreiben. Kennen Sie eine Formel mit der man p Werte berechnen könnte? Im Handbuch von Past war die Formel so angegebn wie ich sie implementiert habe aber die Ergebnisse sprechen dafür, dass ich es wohl irgendwie falsch mache. Oder können T Werte bei über 1 liegen? Und ich müsste die nochmal umrechnen um p Werte zu bekommen?

Re: T Test Werte deutlich über 1

BeitragVerfasst: Mo 20. Jun 2022, 20:54
von bele
Hi,

ja klar können t Werte größer als 2 werden. Irgendwo im Netz steht
Assume that we perform a t-test and it calculates a t-value of 2 for our sample data. What does that even mean? I might as well have told you that our data equal 2 fizbins! We don’t know if that’s common or rare when the null hypothesis is true.

By itself, a t-value of 2 doesn’t really tell us anything. T-values are not in the units of the original data, or anything else we’d be familiar with. We need a larger context in which we can place individual t-values before we can interpret them.

https://blog.minitab.com/en/adventures- ... tributions

Für die Umrechnung in p-Werte gibt es keine einfache Formel. Du musst Dich mit der t- Verteilung beschäftigen oder dafür ein Modul importieren.

Past habe ich inzwischen gegoogelt. Kennt man das, hat das Verbreitung gefunden? Ist es gut?

LG, Bernhard