Free Statistics

of Irreproducible Research!

Author's title

Author*The author of this computation has been verified*
R Software Modulerwasp_boxcoxlin.wasp
Title produced by softwareBox-Cox Linearity Plot
Date of computationWed, 12 Nov 2008 13:19:38 -0700
Cite this page as followsStatistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?v=date/2008/Nov/12/t1226521271diozigt0dhh7hw9.htm/, Retrieved Sun, 19 May 2024 12:36:31 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=24431, Retrieved Sun, 19 May 2024 12:36:31 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact152
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
F       [Box-Cox Linearity Plot] [various EDA topic...] [2008-11-12 20:19:38] [821c4b3d195be8e737cf8c9dc649d3cf] [Current]
Feedback Forum
2008-11-16 15:40:56 [Gert-Jan Geudens] [reply
De berekeningen van de student zijn goed maar hij had wel wat meer uitleg mogen geven.De lineaire transformatie kan plaatsvinden door 'lambda' te introduceren. Uit de bovenste grafiek op deze URL kunnen we het volgende bemerken :
*De correlatie tussen de twee variabelen uitvoer en wisselkoers, bereikt een maximum bij een 'lambda' van ongeveer -2. Als is deze transformatie quasi-overbodig aangezien de correlatie tussen beide variabelen slechts stijgt van 0.28 naar 0.33. We zien dan ook dat er in de scatterplot van de getransformeerde data, nog steeds geen echt verband aanwezig is. Er is met andere woorden zeer weinig veranderd betreffende het verband tussen de variabelen.
2008-11-17 14:18:02 [Stefan Temmerman] [reply
De student berekent correct de Box-Cox linearity plot, maar legt deze verkeerd uit. Deze plot voert een transformatie door om de variabelen meer lineair te zetten. Hiervoor wordt de functie getest met verschillende lambda's, om zo een beter verband te krijgen. De lambda-waarde die de hoogste correlatiecoëfficiënt voor functie oplevert, wordt gekozen om de grafiek te transformeren (te zien op de grafiek als het maximum van de linearity plot).
In het voorbeeld van de student, is de optimale lambda waarde -2. Als we functie transformeren met behulp van deze waarde -2, zou deze een beter verband opleveren. Dit is te merken aan de kleinere standaarddeviatie en de iets hogere correlatie.
2008-11-19 16:43:08 [Carole Thielens] [reply
De bewerkingen die de student uitvoerde, waren correct. Hij had echter wel veel meer uitleg kunnen geven bij zijn analyse. Bijkomende uitleg over wat een Box-cox linearity plot is, zou daarom ook niet misstaan. De Box-cox linearity plot is een handige grafische techniek om zonder trial and error het effect van de Box- cox transformatie op de X- waarden weer te geven, welke de maximale correlatie tussen twee variabelen tracht te verwezenlijken. Op de horizontale as staat de transformatieparameter lambda, terwijl op de Y-as de correlatiecoëfficiënt tussen Y en de getransformeerde X. De optimale Lambda is deze waarvoor een positieve correlatie maximaal wordt en een negatieve correlatie minimaal wordt. Deze lambda(x) bedraagt -2. Om het effect van de transformatie te zien, moet je beoordelen in welke mate dat de correlatie gestegen is. Dit kan waargenomen worden op de bijhorende scatterplots en tabel. Duidelijk verbeterde de correlatie niet markant. Op de nieuwe scatterplot liggen de punten immers niet opmerkelijk beter verdeeld rond de rechte en uit de tabel blijkt dat de standaarddeviatie niet veel verminderd is.
2008-11-22 14:21:20 [Angelique Van de Vijver] [reply
Goede berekeningen van de student, maar uitleg is niet volledig en niet echt juist. Na de transformatie zijn de punten een klein beetje meer verdeeld rond de rechte en is de residuele standaarddeviatie inderdaad een klein beetje verkleind. Maar dit is allemaal zeer miniem en leidt niet echt tot een meer lineair verband. Hieruit kunnen we dus afleiden dat de transformatie weinig zin heeft.
De student zegt niks over de box cox linearity plot. Op de box cox linearity plot worden verschillende correlaties voorgesteld doordat je telkens een ander lambda aanneemt. De lambda neemt waarden aan tussen -2 en 2. Op de grafiek zie je dan welke lambda het beste resultaat geeft(de optimale lambda-waarde) om de gegevens meer lineair te maken. In dit voorbeeld is de beste lambda-waarde dus -2 omdat hier de maximale correlatie is. Deze lambda-waarde wordt dan gebruikt voor de transformatie.
De transformatie heeft hier duidelijk maar weinig invloed aangezien de grafieken van de originele date en de getransformeerde data amper verschillen. Je ziet ook dat de originele standaardafwijking maar weinig verschilt met de standaardafwijking van de getransformeerde data.
2008-11-24 23:57:08 [Jessica Alves Pires] [reply
Juiste berekening. Meer informatie over wat de box cox linearity plot precies inhoudt, zou zoals hierboven reeds vermeld inderdaad gewenst zijn. Als men beide figuren vergelijkt voor en na de transformatie, dan is er niet veel verschil. Het lijkt alsof de punten opgeschoven zijn naar rechts.

Post a new message
Dataseries X:
156,4
143,1
148,9
134
118
125,3
138
114
109,9
151,5
129,1
121,7
126,1
114,3
124,7
111,9
120
119,5
137,8
105,4
135,4
182,5
129,6
147,5
128,9
119,7
149,4
136,6
118,6
121,4
138,9
109,5
131,7
160,3
138,1
136,7
126,6
138
152
137
134,9
154,4
145,2
133,1
169,6
159,3
124,9
138,1
162,5
136,6
148,1
142
137,9
152,5
182,8
135,3
141,8
151,7
140,6
128
Dataseries Y:
109,57
107,08
110,33
110,36
106,5
104,3
107,21
109,34
108,2
109,86
108,68
113,38
117,12
116,23
114,75
115,81
115,86
117,8
117,11
116,31
118,38
121,57
121,65
124,2
126,12
128,6
128,16
130,12
135,83
138,05
134,99
132,38
128,94
128,12
127,84
132,43
134,13
134,78
133,13
129,08
134,48
132,86
134,08
134,54
134,51
135,97
136,09
139,14
135,63
136,55
138,83
138,84
135,37
132,22
134,75
135,98
136,06
138,05
139,59
140,58




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135

\begin{tabular}{lllllllll}
\hline
Summary of computational transaction \tabularnewline
Raw Input & view raw input (R code)  \tabularnewline
Raw Output & view raw output of R engine  \tabularnewline
Computing time & 1 seconds \tabularnewline
R Server & 'Gwilym Jenkins' @ 72.249.127.135 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=24431&T=0

[TABLE]
[ROW][C]Summary of computational transaction[/C][/ROW]
[ROW][C]Raw Input[/C][C]view raw input (R code) [/C][/ROW]
[ROW][C]Raw Output[/C][C]view raw output of R engine [/C][/ROW]
[ROW][C]Computing time[/C][C]1 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Gwilym Jenkins' @ 72.249.127.135[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=24431&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=24431&T=0

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time1 seconds
R Server'Gwilym Jenkins' @ 72.249.127.135







Box-Cox Linearity Plot
# observations x60
maximum correlation0.331833945647252
optimal lambda(x)-2
Residual SD (orginial)10.6312991423990
Residual SD (transformed)10.5061326159224

\begin{tabular}{lllllllll}
\hline
Box-Cox Linearity Plot \tabularnewline
# observations x & 60 \tabularnewline
maximum correlation & 0.331833945647252 \tabularnewline
optimal lambda(x) & -2 \tabularnewline
Residual SD (orginial) & 10.6312991423990 \tabularnewline
Residual SD (transformed) & 10.5061326159224 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=24431&T=1

[TABLE]
[ROW][C]Box-Cox Linearity Plot[/C][/ROW]
[ROW][C]# observations x[/C][C]60[/C][/ROW]
[ROW][C]maximum correlation[/C][C]0.331833945647252[/C][/ROW]
[ROW][C]optimal lambda(x)[/C][C]-2[/C][/ROW]
[ROW][C]Residual SD (orginial)[/C][C]10.6312991423990[/C][/ROW]
[ROW][C]Residual SD (transformed)[/C][C]10.5061326159224[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=24431&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=24431&T=1

As an alternative you can also use a QR Code:  

The GUIDs for individual cells are displayed in the table below:

Box-Cox Linearity Plot
# observations x60
maximum correlation0.331833945647252
optimal lambda(x)-2
Residual SD (orginial)10.6312991423990
Residual SD (transformed)10.5061326159224



Parameters (Session):
Parameters (R input):
R code (references can be found in the software module):
n <- length(x)
c <- array(NA,dim=c(401))
l <- array(NA,dim=c(401))
mx <- 0
mxli <- -999
for (i in 1:401)
{
l[i] <- (i-201)/100
if (l[i] != 0)
{
x1 <- (x^l[i] - 1) / l[i]
} else {
x1 <- log(x)
}
c[i] <- cor(x1,y)
if (mx < abs(c[i]))
{
mx <- abs(c[i])
mxli <- l[i]
}
}
c
mx
mxli
if (mxli != 0)
{
x1 <- (x^mxli - 1) / mxli
} else {
x1 <- log(x)
}
r<-lm(y~x)
se <- sqrt(var(r$residuals))
r1 <- lm(y~x1)
se1 <- sqrt(var(r1$residuals))
bitmap(file='test1.png')
plot(l,c,main='Box-Cox Linearity Plot',xlab='Lambda',ylab='correlation')
grid()
dev.off()
bitmap(file='test2.png')
plot(x,y,main='Linear Fit of Original Data',xlab='x',ylab='y')
abline(r)
grid()
mtext(paste('Residual Standard Deviation = ',se))
dev.off()
bitmap(file='test3.png')
plot(x1,y,main='Linear Fit of Transformed Data',xlab='x',ylab='y')
abline(r1)
grid()
mtext(paste('Residual Standard Deviation = ',se1))
dev.off()
load(file='createtable')
a<-table.start()
a<-table.row.start(a)
a<-table.element(a,'Box-Cox Linearity Plot',2,TRUE)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'# observations x',header=TRUE)
a<-table.element(a,n)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'maximum correlation',header=TRUE)
a<-table.element(a,mx)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'optimal lambda(x)',header=TRUE)
a<-table.element(a,mxli)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Residual SD (orginial)',header=TRUE)
a<-table.element(a,se)
a<-table.row.end(a)
a<-table.row.start(a)
a<-table.element(a,'Residual SD (transformed)',header=TRUE)
a<-table.element(a,se1)
a<-table.row.end(a)
a<-table.end(a)
table.save(a,file='mytable.tab')