2013-04-01 34 views
-1

我正在處理非正態分佈的數據。我已經應用了常用方法:日誌和平方根,以便轉換數據,然後使用ARIMA模型對其進行處理,以便進行預測。R中存在哪些規範化方法?

我曾嘗試是:

set.seed(123) 
y<-rexp(200) 

yl<-log(y+1) 
shapiro.test(yl) 

trans<-(y-mean(y))/sd(y) 
shapiro.test(trans) 

此方法未能正常的測試,我想問一下,如果有另一個選項R.

+0

這個答案是一個有趣的閱讀:http://stackoverflow.com/questions/7781798/seeing-if-data-is-normally-distributed-in-r/7788452#7788452 – Arun

+0

謝謝,但閱讀與正常測試有關。我可以應用Jarque Bera測試,結果仍然具有相同的一致性。 – Michelle

+0

是的,重點在於正態性檢驗及其假設的有效性。也就是說,你正在測試一個基於測試的「良好」規範化,該測試的假設是關於拒絕正態性的假設。 – Arun

回答

1

您將數據轉化爲正常數據可以試用預測包,具有BoxCox.Lambda函數來處理 BoxCox轉換。比例/重新比例是自動完成的。例如:

require(forecast) 
y <- ts(rnorm(120,0,3) + 20*sin(2*pi*(1:120)/12), frequency=12) + runif(120) 
lambda <- BoxCox.lambda(y) # should check if the transformation is necessary 
model <- auto.arima(y, lambda = lambda) 
plot(forecast(model))