• Keine Ergebnisse gefunden

Solution to Series 1

N/A
N/A
Protected

Academic year: 2022

Aktie "Solution to Series 1"

Copied!
7
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Solution to Series 1

1. An experiment was conducted to study the effect of 3 types of diets on the coagulation time of blood.

In the first part we will load and plot the data. In the second part we carry out an analysis of variance step by step and in the last part we will check the model assumptions.

a) Loading the data and exploratory plots

1. The results of the experiments are saved in the file blood.csv, which you can find on the course webpage. Open it with a spreadsheet reader (like Excel) and look at the data. Then import them in R using the function read.csvor with the importing tool of RStudio (see upper right panel).

blood <- read.csv(file='blood.csv')

2. How many patients are there? how many patients were assigned to each diet type?

## number of patients:

nrow(blood) [1] 24

## for each group:

table(blood$diet) A B C

8 8 8 3. Boxplot

boxplot(coagulation~diet, data=blood)

A B C

55 60 65 70

require(ggplot2)

g <- ggplot(data=blood, aes(x=diet, y=coagulation)) g <- g + geom_boxplot(aes(fill=diet))

g

(2)

55 60 65 70

A B C

diet

coagulation

diet A B C

4. Density plot

interval <- range(blood$coagulation) ## calculate min and max par(mfrow=c(3,1)) # split the window in 3 rows and 1 column

## set xlim the same for all plots for better comparison:

hist(blood$coagulation[blood$diet=='A'], xlim=interval) hist(blood$coagulation[blood$diet=='B'], xlim=interval) hist(blood$coagulation[blood$diet=='C'], xlim=interval) par(mfrow=c(1,1)) # reset default value

Histogram of blood$coagulation[blood$diet == "A"]

blood$coagulation[blood$diet == "A"]

Frequency

55 60 65 70

03

Histogram of blood$coagulation[blood$diet == "B"]

blood$coagulation[blood$diet == "B"]

Frequency

55 60 65 70

03

Histogram of blood$coagulation[blood$diet == "C"]

blood$coagulation[blood$diet == "C"]

Frequency

55 60 65 70

0.03.0

g <- ggplot(data=blood, aes(x=coagulation, fill=diet))

g <- g + geom_density(alpha=.2) ## alpha sets the transparency g

(3)

0.00 0.05 0.10 0.15 0.20

55 60 65 70

coagulation

density

diet A B C

5. From these plots, do you think that the type of diet followed has a significant effect on the coagulation of blood?

Yes it seems that the diet B results in clearly bigger coagulation. Furthermore the variance within group is smaller than the variance between group, thus the effect is expected to be significant.

b) We will now compute individually all the elements needed and perform a one-way ANOVA.

1. Compute the overall mean.

mtot <- mean(blood$coagulation) mtot

[1] 63.5

2. Compute the mean for each group separately.

ma <- mean(blood$coagulation[blood$diet=='A']) mb <- mean(blood$coagulation[blood$diet=='B']) mc <- mean(blood$coagulation[blood$diet=='C']) cat(ma,mb,mc)

63.625 67.25 59.625

3. Write down the linear model we are interested in and the estimate of the effects ˆAiif we take the convention thatP

ii= 0.

Yij=µ+Ai+ij where ij∼ N(0, σ2) ˆA1= 0.125,Aˆ2= 3.75andAˆ3=−3.875 4. Compute the variancewithin group (M Sres).

Hint: Compute first the variance of each group separately and then combine them appropri- ately (is it a balanced design?).

va <- var(blood$coagulation[blood$diet=='A']) vb <- var(blood$coagulation[blood$diet=='B']) vc <- var(blood$coagulation[blood$diet=='C']) MS_res <- mean(c(va,vb,vc))

MS_res [1] 10.15476

5. Compute the variancebetween groups.

Hint: Compute first the SStreat, using the appropriate formula and then theM Streat with the correctdf.

## the factor 8 is because there are 8 persons by group SS_treat <- 8*sum( (c(ma, mb, mc)- mtot)^2 )

MS_treat <- SS_treat / 2 # 2 is the df MS_treat

[1] 116.375

6. Compute the F-statistics. Can you make any conclusion from its value?

Optional: Plot the probability distribution function of the F distribution with the correct degrees of freedom and look where the computed F-statistics falls (use the function df to compute the pdf of the F distribution).

(4)

F_stat <- MS_treat/MS_res F_stat

[1] 11.46014

x <- seq(0,14,length.out = 100) y <- df(x, df1=2, df2=21) plot(x,y, type='l')

abline(v=F_stat, col='red')

## we see that the F-statistics is far, far in the tail...

0 2 4 6 8 10 12 14

0.0 0.4 0.8

x

y

7. What is the probability to obtain such a F-statistics if the null hypothesis was true? Hint:

the function pfallows you compute the distribution function of the F distribution for any quantile. Use the correct degrees of freedom!

pvalue <- 1 - pf(F_stat, df1 = 2, df2= 21) pvalue

[1] 0.0004318361

8. Is the effect of diet significant?

Yes it is significant at a 5% level (also at 1%)

9. In practice you don’t have to calculate everything by hand like that! Repeat the analysis using the function lm to fit the model and Anova from the package carto calculate the ANOVA table. You could also use anova (without capital A) from R base, but it gives inconsistent results when dealing with unbalanced designs and so it is not advised to use it.

The results should be the same as you obtained before, of course!

require(car)

mod <- lm(coagulation~diet, data=blood) Anova(mod)

Anova Table (Type II tests) Response: coagulation

Sum Sq Df F value Pr(>F) diet 232.75 2 11.46 0.0004318 ***

Residuals 213.25 21 ---

Signif. codes:

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 c) We will now check the model assumptions.

1. What are the model assumptions to test?

The linear model holds: expectaction of residuals should be 0.

The errors are normally distributed with mean 0.

The variance is the same within each group.

(5)

2. Perform diagnostic plots. Hint: par(mfrow=c(2,2))splits your screen in 4 parts.

par(mfrow=c(2,2)) plot(mod)

60 62 64 66

−606

Fitted values

Residuals

Residuals vs Fitted

7 13

4

−2 −1 0 1 2

−11

Theoretical Quantiles

Standardized residuals

Normal Q−Q

13 7

4

60 62 64 66

0.01.0

Fitted values

Standardized residuals

Scale−Location

7 13

4

−202

Factor Level Combinations

Standardized residuals

A B C

diet :

Constant Leverage:

Residuals vs Factor Levels

7 13

4

3. Interpret the plots. There is no apparent problem with the data, no outliers or particular skewness. The observation 7 could be seen as an outlier, but it’s probably not (remember we deal here with a small sample size and variations are expected to occur naturally).

2. Read in the data:

N2 <- c(19.4,32.6,27,32.1,33,18.2,24.6,25.5,19.4,21.7,20.8,20.7, 21,20.5,18.8,18.6,20.1,21.3)

strain <- c(1,1,1,1,1,5,5,5,5,5,5,7,7,7,7,7,7,7) r.data <- data.frame(cbind(N2,strain))

r.data$strain <- as.factor(r.data$strain)

a) Plot the data.

plot(r.data$strain,r.data$N2)

1 5 7

202530

(6)

The variance between strains looks larger then the variance within strains. This could be an indicator for a significant difference of nitrogen contents for different Rhizobium strains.

b) Carry out an analysis of variance.

fit.n2 <- aov(r.data$N2 ~ r.data$strain) summary(fit.n2)

Df Sum Sq Mean Sq F value Pr(>F) r.data$strain 2 236.6 118.28 9.723 0.00196 **

Residuals 15 182.5 12.16 ---

Signif. codes:

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

The F-value equals 9.72. By looking at the P-value we see that there are significant differences in nitrogen contents for different strains of Rhizobium.

c) Check the model assumptions.

par(mfrow=c(2,2)) plot(fit.n2)

20 22 24 26 28

−10−505

Fitted values

Residuals

Residuals vs Fitted

1 8 5

● ●

−2 −1 0 1 2

−3−2−101

Theoretical Quantiles

Standardized residuals

Normal Q−Q

1

2 5

20 22 24 26 28

0.00.51.01.5

Fitted values

Standardized residuals

Scale−Location

1

52

0.00 0.05 0.10 0.15 0.20

−3−2−101

Leverage

Standardized residuals

Cook's distance

1 0.5

Residuals vs Leverage

1 5 2

From the diagnostic plots we see that there exists an outlier. On the basis of the plots, observation number1can be clearly identified as an outlier. After removing the outlier we repeat the analysis.

rr.data <- r.data[-1,]

fit.n2mod <- aov(rr.data$N2~rr.data$strain) summary(fit.n2mod)

Df Sum Sq Mean Sq F value Pr(>F) rr.data$strain 2 333.2 166.60 32.6 5.39e-06 ***

Residuals 14 71.5 5.11 ---

Signif. codes:

0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 par(mfrow=c(2,2))

plot(fit.n2mod)

(7)

20 22 24 26 28 30

−4−2024

Fitted values

Residuals

Residuals vs Fitted

2 7

5

−2 −1 0 1 2

−2−1012

Theoretical Quantiles

Standardized residuals

Normal Q−Q

2

7

5

20 22 24 26 28 30

0.00.51.01.5

Fitted values

Standardized residuals

Scale−Location

2 75

0.00 0.05 0.10 0.15 0.20 0.25

−2−1012

Leverage

Standardized residuals

Cook's distance 0.5

0.5

Residuals vs Leverage

2 7

5

We see that now the model assumptions are fulfilled.

Referenzen

ÄHNLICHE DOKUMENTE

Since the covariance matrix can be estimated much more precisely than the expected returns (see Section 1), the estimation risk of the investor is expected to be reduced by focusing

a certain graph, is shown, and he wants to understand what it means — this corre- sponds to reception, though it involves the understanding of a non-linguistic sign;

Well, according to Hardin, safeguarding the global commons requires a top-down approach administered by prominent international organizations.. The line of reasoning here is

”&#34;“&#34; ° enormous waste takes place, although if a chargeis madein accordance wit‘1 the quantity delivered it is said to provide an excuse for pe130ns to limit themselvesin

The complimentary operation of the instrument as an underfocussed medium- resolution shadow microscope [3] has recently been accompanied by the introduction of such techniques

Overall, 77.4% of 1919 current smokers reported not to have changed their smoking behaviour, 19.1% to have reduced, and 3.5% to have increased their smoking intensity as a

The format and objectives of the so-called Slavkov Triangle, which was established at the end of January, have not yet been clearly defined by the signatory states,

Russian geo-political hard power may have trumped EU soft power in the short-run in both Armenia and Ukraine, but the democratic power of the Ukrainian people in alliance with