Free Statistics

of Irreproducible Research!

Author's title

Author*Unverified author*
R Software Modulerwasp_boxcoxlin.wasp
Title produced by softwareBox-Cox Linearity Plot
Date of computationTue, 11 Nov 2008 12:54:20 -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/t1226433288hexwtjpocyb7dyq.htm/, Retrieved Wed, 15 May 2024 05:27:14 +0000
Statistical Computations at FreeStatistics.org, Office for Research Development and Education, URL https://freestatistics.org/blog/index.php?pk=23906, Retrieved Wed, 15 May 2024 05:27:14 +0000
QR Codes:

Original text written by user:
IsPrivate?No (this computation is public)
User-defined keywords
Estimated Impact169
Family? (F = Feedback message, R = changed R code, M = changed R Module, P = changed Parameters, D = changed Data)
-     [Bivariate Kernel Density Estimation] [Q1 Bivariate Dens...] [2007-11-03 14:50:57] [e2ec4dc832988c648c062d4cdc574d44]
- RMPD  [Hierarchical Clustering] [WS4 Q2 dendrogram] [2007-11-05 10:02:49] [74be16979710d4c4e7c6647856088456]
F RMPD    [Box-Cox Linearity Plot] [] [2008-11-04 20:21:52] [077ffec662d24c06be4c491541a44245]
F   P       [Box-Cox Linearity Plot] [Box-cox linearity...] [2008-11-11 16:06:09] [73d6180dc45497329efd1b6934a84aba]
F   P         [Box-Cox Linearity Plot] [Box-Cox linearity...] [2008-11-11 17:37:44] [6816386b1f3c2f6c0c9f2aa1e5bc9362]
F                 [Box-Cox Linearity Plot] [] [2008-11-11 19:54:20] [81dc0ee785f23261ccd6abf7aef76c2a] [Current]
Feedback Forum
2008-11-20 19:21:02 [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. De optimale lambda hier is 0.57.

Grafisch kan je in de grafiek zien. Als je in de grafiek naar het maximum van de rechte kijkt, moet je op die waarde de lambda nemen. Als je niet zeker bent van het maximum, kan je eventueel de R code aanpassen zodanig dat het maximum wel zichtbaar wordt. Wanneer je geen maximum ziet, kan je dus bijgevolg geen besluit trekken.

Concluderend kan je zeggen 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-23 10:19:40 [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 variabele gecreëerd. In dit geval bedraagt de optimale lambda waarde 0,57. Toch zien we na de transformatie weinig tot geen verschil zoals eerder al vermeld is.
2008-11-23 10:53:56 [Bonifer Spillemaeckers] [reply
Met het Box-Cox Linearity Plot gaan we bepaalde data transformeren, om niet-lineaire verbanden toch lineair te maken. Dit moeten we doen door te zoeken naar de maximale lambdawaarde. De maximale waarde is hier 0,57. Als we dan de grafiek van de oorspronkelijke data gaan vergelijken met de grafiek van de getransformeerde data kunnen we weinig tot geen verschil bemerken.

Post a new message
Dataseries X:
3423.40
3242.80
3277.20
3833.00
2606.30
3643.80
3686.40
3281.60
3669.30
3191.50
3512.70
3970.70
3601.20
3610.00
4172.10
3956.20
3142.70
3884.30
3892.20
3613.00
3730.50
3481.30
3649.50
4215.20
4066.60
4196.80
4536.60
4441.60
3548.30
4735.90
4130.60
4356.20
4159.60
3988.00
4167.80
4902.20
3909.40
4697.60
4308.90
4420.40
3544.20
4433.00
4479.70
4533.20
4237.50
4207.40
4394.00
5148.40
4202.20
4682.50
4884.30
5288.90
4505.20
4611.50
5081.10
4523.10
4412.80
4647.40
4778.60
4495.30
Dataseries Y:
12300.00
12092.80
12380.80
12196.90
9455.00
13168.00
13427.90
11980.50
11884.80
11691.70
12233.80
14341.40
13130.70
12421.10
14285.80
12864.60
11160.20
14316.20
14388.70
14013.90
13419.00
12769.60
13315.50
15332.90
14243.00
13824.40
14962.90
13202.90
12199.00
15508.90
14199.80
15169.60
14058.00
13786.20
14147.90
16541.70
13587.50
15582.40
15802.80
14130.50
12923.20
15612.20
16033.70
16036.60
14037.80
15330.60
15038.30
17401.80
14992.50
16043.70
16929.60
15921.30
14417.20
15961.00
17851.90
16483.90
14215.50
17429.70
17839.50
17629.20




Summary of computational transaction
Raw Inputview raw input (R code)
Raw Outputview raw output of R engine
Computing time3 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 & 3 seconds \tabularnewline
R Server & 'Sir Ronald Aylmer Fisher' @ 193.190.124.24 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=23906&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]3 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=23906&T=0

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







Box-Cox Linearity Plot
# observations x60
maximum correlation0.903564928283787
optimal lambda(x)0.57
Residual SD (orginial)777.05148897948
Residual SD (transformed)774.385339777023

\begin{tabular}{lllllllll}
\hline
Box-Cox Linearity Plot \tabularnewline
# observations x & 60 \tabularnewline
maximum correlation & 0.903564928283787 \tabularnewline
optimal lambda(x) & 0.57 \tabularnewline
Residual SD (orginial) & 777.05148897948 \tabularnewline
Residual SD (transformed) & 774.385339777023 \tabularnewline
\hline
\end{tabular}
%Source: https://freestatistics.org/blog/index.php?pk=23906&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.903564928283787[/C][/ROW]
[ROW][C]optimal lambda(x)[/C][C]0.57[/C][/ROW]
[ROW][C]Residual SD (orginial)[/C][C]777.05148897948[/C][/ROW]
[ROW][C]Residual SD (transformed)[/C][C]774.385339777023[/C][/ROW]
[/TABLE]
Source: https://freestatistics.org/blog/index.php?pk=23906&T=1

Globally Unique Identifier (entire table): ba.freestatistics.org/blog/index.php?pk=23906&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.903564928283787
optimal lambda(x)0.57
Residual SD (orginial)777.05148897948
Residual SD (transformed)774.385339777023



Parameters (Session):
Parameters (R input):
par1 = ; par2 = ; par3 = ; par4 = ; par5 = ; par6 = ; par7 = ; par8 = ; par9 = ; par10 = ; par11 = ; par12 = ; par13 = ; par14 = ; par15 = ; par16 = ; par17 = ; par18 = ; par19 = ; par20 = ;
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')