Difference between revisions of "TU Wien:Statistik und Wahrscheinlichkeitstheorie UE (Bura)/Übungen 2019W/6.1"

From VoWi
Jump to navigation Jump to search
Line 21: Line 21:
  
 
b-d) TBD
 
b-d) TBD
 +
 +
 +
== Lösungsvorschlag von Black Rabbit ==
 +
 +
Kommentar des Autors: "Ich bin mir nicht sicher wie legit die Lösung von b und c ist, verwendung auf eigene Gefahr."
 +
 +
'''a.)'''
 +
<syntaxhighlight lang=r>
 +
load(file = "dist.RData")
 +
hist(distanz,ylab = "Distanz")
 +
hist(distanz,ylab = "Distanz", breaks=20)
 +
hist(distanz,ylab = "Distanz", breaks=50)
 +
</syntaxhighlight>
 +
 +
Wie man in dem Histogram welches man erhält sieht, kann man annehmen dass es sich um eine Normalverteilung handelt. Man kann auch selbst definieren wieviele breaks ein histogram haben soll mit dem Parameter breaks. Dies diente mir in diesem Falle nur zur Untersuchung der Verteilung und ist vielleicht dem ein oder anderem Hilfreich.
 +
 +
Note: In der Regel wählt R selbst passende breaks.
 +
 +
 +
'''b.)'''
 +
 +
Als erstes beginnen wir mit dem z-Test oder der z-Statistik. In unserem Fall ist uns Sigma für unseren Zwei-Seitigen Test bekannt.
 +
<syntaxhighlight lang=r>
 +
xbar = mean(distanz)            # sample mean
 +
mu0 = 500                        # hypothesized value
 +
sigma = 200                      # standard deviation
 +
n = length(distanz)              # sample size
 +
z = (xbar-mu0)/(sigma/sqrt(n))
 +
z                                # test statistic
 +
 +
# [1] 3.225114
 +
</syntaxhighlight>
 +
 +
 +
Nun da wir unseren z Wert haben können wir unsere hypothese testen.
 +
 +
<syntaxhighlight lang=r>
 +
# Test critical values at .05 significance level.
 +
alpha = .05
 +
z.half.alpha = qnorm(1-alpha/2)
 +
c(-z.half.alpha, z.half.alpha)
 +
 +
# [1] -1.959964  1.959964
 +
 +
# 3.225114 nicht zwischen werten -> Nullhypothese verwerfen
 +
</syntaxhighlight>
 +
 +
 +
'''c.)'''
 +
<syntaxhighlight lang=r>
 +
pval = 2 * pnorm(z) # lower tail
 +
pval                # two tailed p-value
 +
# [1] 1.998741
 +
</syntaxhighlight>
 +
 +
Da der berechnete p-value deutlich größer ist als unsere 5% significance (0.05), rejecten wir die Nullhypothese dass mu = 500.
 +
 +
 +
'''Andere Variante'''
 +
 +
Man kann auch einen t-test durchführen. Dieser testet auch den Mittelwert und besagt ebenfalls dass der Mittelwert unter berücksichtigung der significance falsch ist.
 +
 +
<syntaxhighlight lang=r>
 +
t.test(distanz, y=NULL, alternative=c("two.sided", "less", "greater"), mu=500, var.equal = F, paired = F, conf.level = 0.95)
 +
 +
t.test(distanz, y=NULL, alternative="two.sided", mu=500, var.equal = F, paired = F, conf.level = 0.95)
 +
</syntaxhighlight>

Revision as of 20:11, 18 November 2019

z-Test (mit R)

Zwei Informatiker haben ein Spiel entwickelt, bei dem ein BMX-Fahrer einen Parcours durchfahren muss. Es geht darum möglichst viel Strecke zu machen. Sie interessieren sich nun dafür wie viele Meter ein Laie, der das Spiel zum ersten mal spielt, im Schnitt zurück legt. Dazu lassen Sie das Spiel von einigen Probanden Probe spielen und notieren die gemachten Meter. Die Ergebnisse sind in Datei dist.Rdata abgelegt.

Testen Sie die Nullhypothese dass, die mittlere zurück gelegte Distanz einen halben Kilometer beträgt anhand eines zweiseitigen z-Tests. Nehmen Sie an, dass σ = 200 Meter beträgt. Das Signifikanzniveau sei α = 5%.

Gehen Sie dazu wie folgt vor:

(a) Stellen Sie die Daten in einem Histogramm dar. Verteilen sie sich näherungsweise glockenförmig?
(b) Berechnen Sie die z-Statistik
(c) Berechnen Sie den p-Wert. Lehnen Sie die Nullhypothese ab?
(d) Interpretieren Sie Ihr Ergebnis

Lösungsvorschlag

a)

load('dist.Rdata')
hist(distanz)

b-d) TBD


Lösungsvorschlag von Black Rabbit

Kommentar des Autors: "Ich bin mir nicht sicher wie legit die Lösung von b und c ist, verwendung auf eigene Gefahr."

a.)

load(file = "dist.RData")
hist(distanz,ylab = "Distanz")
hist(distanz,ylab = "Distanz", breaks=20)
hist(distanz,ylab = "Distanz", breaks=50)

Wie man in dem Histogram welches man erhält sieht, kann man annehmen dass es sich um eine Normalverteilung handelt. Man kann auch selbst definieren wieviele breaks ein histogram haben soll mit dem Parameter breaks. Dies diente mir in diesem Falle nur zur Untersuchung der Verteilung und ist vielleicht dem ein oder anderem Hilfreich.

Note: In der Regel wählt R selbst passende breaks.


b.)

Als erstes beginnen wir mit dem z-Test oder der z-Statistik. In unserem Fall ist uns Sigma für unseren Zwei-Seitigen Test bekannt.

xbar = mean(distanz)             # sample mean
mu0 = 500                        # hypothesized value
sigma = 200                      # standard deviation
n = length(distanz)              # sample size
z = (xbar-mu0)/(sigma/sqrt(n))
z                                # test statistic

# [1] 3.225114


Nun da wir unseren z Wert haben können wir unsere hypothese testen.

# Test critical values at .05 significance level.
alpha = .05
z.half.alpha = qnorm(1-alpha/2)
c(-z.half.alpha, z.half.alpha)

# [1] -1.959964  1.959964

# 3.225114 nicht zwischen werten -> Nullhypothese verwerfen


c.)

pval = 2 * pnorm(z) # lower tail
pval                # two tailed p-value
# [1] 1.998741

Da der berechnete p-value deutlich größer ist als unsere 5% significance (0.05), rejecten wir die Nullhypothese dass mu = 500.


Andere Variante

Man kann auch einen t-test durchführen. Dieser testet auch den Mittelwert und besagt ebenfalls dass der Mittelwert unter berücksichtigung der significance falsch ist.

t.test(distanz, y=NULL, alternative=c("two.sided", "less", "greater"), mu=500, var.equal = F, paired = F, conf.level = 0.95)

t.test(distanz, y=NULL, alternative="two.sided", mu=500, var.equal = F, paired = F, conf.level = 0.95)