Betreff: Berechnung eines p-Werts in einem SkriptHier gibt es ein paar Dinge:
- Das Skript berechnet den p-Wert basierend auf dem kritisch t-Wert (berechnet auf der ersten Zeile) anstelle des beobachtet t-Wert. Letzteres ist die Differenz der Mittelwerte dividiert durch den Standardfehler der Differenz.
- Der Aufruf von t Distribution() berechnet den Anteil der Verteilung, der kleiner ist als der t-Wert, der nicht ganz dem gesuchten p-Wert entspricht. Die Berechnung des zweiseitigen p-Werts erfordert von hier aus einige einfache Arithmetik (siehe Beispiel).
Wenn wir davon ausgehen können, dass die Datentabelle mindestens die Stichprobengrößen, Mittelwerte und Standardabweichungen nach Gruppen in ihren eigenen Spalten enthält, dann ist hier eine JSL, die das tut, was Sie wollen. Probieren Sie es am beigefügten Beispieltisch aus. Beachten Sie, dass ich einen Zwischenschritt zur Berechnung einer gepoolten Standardabweichungsspalte eingefügt habe, um die Lesbarkeit der Formel für die t-Wert-Spalte zu verbessern.
Names Default to Here( 1 );
dt = Data Table( "Example.jmp" );
dt << New Column( "Pooled stdev",
Numeric,
Continuous,
Format( "Fixed Dec", 15, 3 ),
Formula(
Sqrt( ((:Group A n - 1) * :Group A stdev ^ 2 + (:Group B n - 1) * :Group B stdev ^ 2) / (:Group A n + :Group B n - 2) )
)
);
dt << New Column( " t-Value",
Numeric,
Continuous,
Format( "Fixed Dec", 15, 3),
Formula(
(:Group A mean - :Group B mean) / (:Pooled stdev * Sqrt( 1 / :Group A n + 1 / :Group B n) )
)
);
dt << New Column( "p-Value",
Numeric,
Continuous,
Format( "Fixed Dec", 15, 3 ),
Formula(
( 1 - t Distribution( Abs( :"t-Value"n ), :Group A n + :Group B n - 2 ) ) * 2
)
);
Betreff: Berechnung eines p-Werts in einem SkriptHallo Roß,
Danke für deine Antwort, wie sieht das aus
dt5 << New Column( "Difference in Mean", Numeric, Continuous, Format( "Fixed Dec", 15, 3 ), Formula( :"Mean(Data) VPP"n - :"Mean(Data) Commercial"n ) );
dt5 << New Column( "Pooled Std Dev", Numeric, Continuous, Format( "Fixed Dec", 15, 3 ), Formula( sqrt(((:"N(Data) VPP"n - 1)* :"Std Dev(Data) VPP"n ^ 2 + (:"N(Data) Commercial"n - 1) * :"Std Dev(Data) Commercial"n ^ 2 ) / (:"N(Data) VPP"n + :"N(Data) Commercial"n - 2)))) ;
dt5 << New Column( "Lower 90% Confidence Interval", Numeric, Continuous, Format( "Fixed Dec", 15, 3 ), Formula( (:"Mean(Data) VPP"n - :"Mean(Data) Commercial"n ) - t Quantile (0.95,:"N(Data) VPP"n + :"N(Data) Commercial"n -2) * (:Pooled Std Dev * sqrt(( 1/:"N(Data) VPP"n) + (1/:"N(Data) Commercial"n )) )));
dt5 << New Column( "Upper 90% Confidence Interval", Numeric, Continuous, Format( "Fixed Dec", 15, 3), Formula( (:"Mean(Data) VPP"n - :"Mean(Data) Commercial"n ) + t Quantile (0.95,:"N(Data) VPP"n + :"N(Data) Commercial"n -2) * (:Pooled Std Dev * sqrt(( 1/:"N(Data) VPP"n) + (1/:"N(Data) Commercial"n )) )));
dt5 << New Column( "Pooled Variance", Numeric, Continuous, Format( "Fixed Dec", 15, 3), Formula(:Pooled Std Dev ^ 2));
dt5 << New Column(" Std Error for t-Value", Numeric, Continuous, Format( "Fixed Dec", 15, 3), Formula(sqrt (:Pooled Variance * ( 1/:"N(Data) VPP"n + 1/ :"N(Data) Commercial"n ) )));
dt5 << New Column(" t-stat", Numeric, Continuous, Format( "Fixed Dec", 15, 3), Formula((Abs (:"Mean(Data) VPP"n - :"Mean(Data) Commercial"n - 0)) / :"Std Error for t-Value"n));
dt5 << New Column( "one tail p-Value", Numeric, Continuous, Format( "Fixed Dec", 15, 4), Formula(1 - t Distribution (:"t-stat"n,:"N(Data) VPP"n + :"N(Data) Commercial"n - 2 )));
dt5 << New Column( "two tail p-value", Numeric, Continuous, Format( "Fixed Dec", 12, 4 ),Formula( :"one tail p-Value"n * 2 ));
Betreff: Berechnung eines p-Werts in einem SkriptIch bin nicht jede Gleichung im Detail durchgegangen, also überprüfe auf jeden Fall auch selbst alles noch einmal. Aber nachdem ich das gesagt habe, ist mir nur eine Sache aufgefallen, die Sie wahrscheinlich ändern möchten: Die Formel für die t-Statistik nimmt den absoluten Wert der Differenz der Mittelwerte, was bedeutet, dass Ihre t-Statistik immer positiv ausfallen wird, wenn sie sollte negativ sein, wenn der VPP-Mittelwert niedriger ist als der Handelsmittelwert. Ich habe die Abs()-Funktion in meinem Beispiel nur verwendet, um sicherzustellen, dass der p-Wert unabhängig vom Vorzeichen der t-Statistik korrekt berechnet wird. Sie werden wahrscheinlich dasselbe tun wollen.
Betreff: Berechnung eines p-Werts in einem SkriptNochmals vielen Dank Ross, sehr geschätzt
Betreff: Berechnung eines p-Werts in einem SkriptDanke für die Lösung.
Berechnen eines p-Werts in einem SkriptHallo zusammen,
Ich weiß, dass ich hier etwas falsch mache, aber ich kann es im Moment nicht erkennen. Ich möchte den zweiseitigen p-Wert für eine Differenz zweier Mittelwerte und verwende das folgende Skript
dt5 << New Column(" t-Value", Numeric, Continuous, Format( "Fixed Dec", 15, 3), Formula( t Quantile (0.95,:"N(Data) VPP"n + :"N(Data) Commercial"n -2)));
dt5 << New Column( "p-Value", Numeric, Continuous, Format( "Fixed Dec", 15, 3), Formula( t Distribution (:"T-Value"n,:"N(Data) VPP"n + :"N(Data) Commercial"n - 1 )));Kann mir bitte jemand einen Rat geben?
Danke,
Mick.
Automatisierung und SkripterstellungVerbraucher- und MarktforschungBetreff: Berechnen eines p-Werts in einem SkriptSie müssen bei der Berechnung der T-Statistik nicht den absoluten Wert der Differenz der Mittelwerte heranziehen. Der Absolutwert wird bei standardmäßigen T-Test-Berechnungen nicht verwendet, da dadurch Informationen über die Richtung der Differenz verloren gehen würden, die für die Interpretation der Ergebnisse wichtig sind. Wenn der Mittelwert der ersten Gruppe niedriger ist als der Mittelwert der zweiten Gruppe, ist die t-Statistik natürlich negativ, und dies wird in der Berechnung korrekt widergespiegelt, ohne den Absolutwert zu verwenden.