Bonjour,
Je dispose de 2 variables sur lesquelles je souhaite appliquer une régression linéaire. Vous trouverez en pièce jointe un extrait de mes données pour 2 mois, Août et Juin (sur 4 au total).
Voici le code pour l'analyse de ces 2 mois de données:
Mon problème réside dans le fait que lorsque je souhaite vérifier l'hétéroscédasticité des résidus du modèle linéaire via la commande suivante:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 a=read.table("StatsDescript.txt", header=TRUE) summary(a) #JUIN aJuin=subset(a, mois=="Juin") modJuin=lm(aJuin$V2~aJuin$V1) modJuin=aov(aJuin$V2~aJuin$V1) plot(modJuin) summary(modJuin) shapiro.test(residuals(modJuin)) hist(residuals(modJuin)) bartlett.test(residuals(modJuin)~aJuin$V1) #AOÛT aAout=subset(a, mois=="Aout") modAout=lm(aAout$V2~aAout$V1) plot(modAout) summary(modAout) shapiro.test(residuals(modAout)) hist(residuals(modAout)) bartlett.test(residuals(modAout)~aAout$V1)
J'obtiens ce message d'erreur:Code:bartlett.test(residuals(modJuin)~aJuin$V1)
Or, quand je verifie la longueur de "residuals(modJuin)" et "aJuin$V1":Code:
1
2
3 > bartlett.test(residuals(modJuin)~aJuin$V1) Error in model.frame.default(formula = residuals(modJuin) ~ aJuin$V1) : variable lengths differ (found for 'aJuin$V1')
La longueur diffère en effet.Code:
1
2
3
4 > length(residuals(modJuin)) [1] 353 > length(aJuin$V1) [1] 355
Mais via cette commande:
les 2 vecteurs contiennent bien 355 valeurs.Code:
1
2 residuals(modJuin) aJuin$V1
Pourriez-vous m'éclairer? Sur ce premier point?
En attendant, j'ai donc opté pour une évaluation visuelle de la normalité et de l'hétéroscédasticité via la fonction "plot" comme vous pouvez le voir dans le premier script que j'ai copié dans mon message. D'après moi, la normalité n'est pas respectée pour les valeurs extrêmes (voir un peu plus largement) mais l'hétéroscédasticité reste dans les clous. Le mois d'Aout est le cas le plus extrême que j'ai rencontré pour cette dernière hypothèse. Que feriez-vous à ma place? J'aurais tendance à valider ces 2 hypothèses et travailler en paramétrique. L'équivalent non-paramétrique serait le coefficient de Pearson (ou Spearman).
Merci pour votre aide!