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 computationTue, 11 Nov 2008 09:07:01 -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/11/t1226419678cpjbqkvywrg00xb.htm/, Retrieved Sun, 19 May 2024 10:47:10 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=23635, Retrieved Sun, 19 May 2024 10:47:10 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact140
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
F       [Box-Cox Linearity Plot] [Q3] [2008-11-11 16:07:01] [e11d930c9e2984715c66c796cf63ef19] [Current]
Feedback Forum
2008-11-16 15:17:47 [Jan Van Riet] [reply
Op dit box-cox plot zien we duidelijk een maximum van de functie. Dat wil zeggen dat er een zekere transformatie moet zijn (met een bepaalde lambda-waarde) die ervoor zou zorgen dat deze scatterplot rechtgetrokken wordt(zodat ze een lineaire correlatie heeft).
Maar als we de originele met de getransformeerde data vergelijken, merken we amper een verschil op.
2008-11-20 23:46:12 [Olivier Uyttendaele] [reply
Er is inderdaad zo goed als geen verschil tussen de 2 grafieken. Algemeen kan je zeggen dat het Box Cox Linearity Plot een manier is om tijdreeksen goed en snel te transformeren. Bedoeling is te onderzoeken of er een lambda parameter bestaat zodanig je een lineair verband krijgt.

In de R-code wordt een nieuwe variabele gecreëerd nl. x1. Deze x1 is eigenlijk de oorspronkelijke variabele x verheven tot de macht lambda -1 en dit dan opnieuw gedeeld door lambda. Hierdoor transformeer je dus de tijdreeks. Je moet op zoek gaan naar de optimale lambda om de tijdreeks te transformeren.

Grafisch kon ik in de grafiek zien. Als ik in de grafiek zou kijken naar het maximum van de rechte, moet ik op die waarde de lambda nemen.
Moest er geen maximum zijn, kon ik geen besluit trekken of moest ik R code aanpassen, zodanig er wel een maximum te zien was.

Concluderend kon ik nog in het document schrijven dat een Box Cox Plot je een antwoord kan geven op; 1) is een transformatie aangewezen de reeks? 2) Wat is de beste waarde voor de transformatie parameter?
2008-11-21 15:12:50 [Matthieu Blondeau] [reply
Er is inderdaad geen transformatie te zien.
2008-11-22 11:31:23 [Wim Golsteyn] [reply
De optimale lambda is blijkbaar 1.35, wat terug te vinden is als maximum op de grafiek, maar het maakt weinig tot geen verschil met de originele grafiek.
2008-11-22 15:07:20 [Inge Meelberghs] [reply
Als we kijken naar de grafiek van de originele data en de grafiek van de getransformeerde data kunnen we inderdaad stellen dat er praktisch geen verschil te zien is.

Op de Box - Cox Linearity Plot kunnen we ziet dat er zich een maximum voordoet. We veronderstellen dus dat er zich een transformatie heeft voorgedaan. Met deze transformatie proberen we een niet lineaire scatterplot toch lineair te maken door een geschikte lambda waarde te kiezen. Hierdoor veranderd de R-code en wordt er een nieuwe variable gecreërd. In dit geval bedraagt de optimale lambda waarde 1,35. Toch zien we na de transformatie weinig tot geen verschil zoals eerder al vermeld is.
2008-11-23 16:09:54 [Nathalie Boden] [reply
Hier geeft de scatterplot aan van het verband dat bestaat tussen x en y. We proberen hier ook een lineair verband van te maken. We gaan dan ook de lamda kiezen met de hoogste correlatiewaarden in dat geval 1.35 Bij de voorgaande commentaar is het inderdaad zo dat er na de transformatie inderdaad weinig verschil is.
2008-11-24 16:31:34 [Bernard Femont] [reply
Box-cox lineairity plot: we transformeren hier tijdreeksen. De bedoeling is om niet-lineaire tijdreeksen, lineair te maken. Met deze formule kan je een tijdreeks transformeren en op die manier problemen oplossen. VB: De scatterplot doet denken dat er een lineair verband bestaat, maar eigenlijk is er geen verband. Met deze formule probeert de PC alle transformaties voor de verschillende lambda-waarden en op die manier ervoor te zorgen dat de correlatie het grootst wordt. We moeten afleiden uit onze grafiek waar het maximum bereikt word, want daar is de correlatie het grootst. De software laat de lambdawaarde steeds wijzigen en zoekt zo naar een optimum. Dit optimum wordt bereikt wanneer de getransformeerde X-waarden de grootste correlatie vertonen met de originele y-waarden. In dit geval is er inderdaad geen transformatie te zien.
2008-11-24 19:22:49 [Liese Tormans] [reply
Aan de hand van de box-cox plot zien we duidelijk een maximum van de functie nl 1,35 (de optimale lambda ). Deze methode wordt vaak gebruikt om tijdreeksen te transformeren. We willen dus met behulp van de lambda parameter de functie recht trekken en zo tot een lineair verband komen.

In de R code wordt er dan een nieuwe variabele gecreëerd. Aan de hand van deze variabele willen we de grafiek lineair maken.

Als we dan de linear fit van de originele data gaan vergelijken met de getransformeerde data zien we geen groot verschil tussen beide grafieken.
2008-11-24 19:55:27 [Jeroen Aerts] [reply
De optimale lambda bedraagt 1,35, als de grafiek een transformatie ondergaat met de lambda merken we nauwelijks verschil, dus heeft dit niet veel uitgemaakt.
2008-11-24 23:17:36 [Kristof Augustyns] [reply
Het is hier inderdaad correct dat er geen verschil is waargenomen.
De optimale lambda bedraagt 1,35.
Bij een transformatie van de tijdreeksen, merken we nauwlijks een verschil op.
Beide grafieken geven dus geen verschil.

Post a new message
Dataseries X:
12710.3
12120.8
12469.5
12054.6
12112.9
9617.2
12645.8
13581.3
12162.3
10969.7
11880
11887.6
12926.9
12300
12092.8
12380.8
12196.9
9455
13168
13427.9
11980.5
11884.8
11691.7
12233.8
14341.4
13130.7
12421.1
14285.8
12864.6
11160.2
14316.2
14388.7
14013.9
13419
12769.6
13315.5
15332.9
14243
13824.4
14962.9
13202.9
12199
15508.9
14199.8
15169.6
14058
13786.2
14147.9
16541.7
13587.5
15582.4
15802.8
14130.5
12923.2
15612.2
16033.7
16036.6
14037.8
15330.6
15038.3
17401.8
14992.5
16043.7
16929.6
15921.3
14417.2
15961
17851.9
16483.9
14215.5
17429.7
17839.5
17629.2
Dataseries Y:
2468.9
2469.2
2417.7
2411.1
2361
1924.1
2486.9
2674.9
2296.2
2101.5
2322
2273.8
2501.3
2435.2
2273.3
2454.7
2328.8
1897
2608.1
2712.3
2322
2282.6
2241.1
2417.2
2829
2600.6
2321
2768.5
2457.3
2142.7
2764.4
2788.9
2679.5
2536.5
2682.7
2699.6
3097.8
3015.2
2878
3010.9
2612.3
2419.3
3096.5
3013
3397.4
3423.1
3298.7
3065.7
3918.3
3154.4
3334.7
3461.6
3018.5
2832
3301.3
3342.8
3464.4
3016.6
3201.3
3135.3
3549.8
3247.2
3441.8
3535.6
3384.7
2996.6
3402.8
3900.2
3776.4
3197.5
4022.4
3845.1
3818.6




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time6 seconds
R Server'Sir Ronald Aylmer Fisher' @ 193.190.124.24

\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 & 6 seconds \tabularnewline
R Server & 'Sir Ronald Aylmer Fisher' @ 193.190.124.24 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=23635&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]6 seconds[/C][/ROW]
[ROW][C]R Server[/C][C]'Sir Ronald Aylmer Fisher' @ 193.190.124.24[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=23635&T=0

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=23635&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 time6 seconds
R Server'Sir Ronald Aylmer Fisher' @ 193.190.124.24







Box-Cox Linearity Plot
# observations x73
maximum correlation0.955742427774407
optimal lambda(x)1.35
Residual SD (orginial)153.819075220528
Residual SD (transformed)153.030699961283

\begin{tabular}{lllllllll}
\hline
Box-Cox Linearity Plot \tabularnewline
# observations x & 73 \tabularnewline
maximum correlation & 0.955742427774407 \tabularnewline
optimal lambda(x) & 1.35 \tabularnewline
Residual SD (orginial) & 153.819075220528 \tabularnewline
Residual SD (transformed) & 153.030699961283 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=23635&T=1

[TABLE]
[ROW][C]Box-Cox Linearity Plot[/C][/ROW]
[ROW][C]# observations x[/C][C]73[/C][/ROW]
[ROW][C]maximum correlation[/C][C]0.955742427774407[/C][/ROW]
[ROW][C]optimal lambda(x)[/C][C]1.35[/C][/ROW]
[ROW][C]Residual SD (orginial)[/C][C]153.819075220528[/C][/ROW]
[ROW][C]Residual SD (transformed)[/C][C]153.030699961283[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=23635&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=23635&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 x73
maximum correlation0.955742427774407
optimal lambda(x)1.35
Residual SD (orginial)153.819075220528
Residual SD (transformed)153.030699961283



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')