2016-11-07 5 views
2

У меня есть временная серия значений осадков в файле csv. Я построил гистограмму данных. Гистограмма сдвинута влево. Я хотел преобразовать значения так, чтобы они имели нормальное распределение. Я использовал преобразование Йео-Джонсона, доступное в R. Преобразованные значения: here.Оценка лямбда для преобразования Yeo и Johnson

Мой вопрос:

В вышеприведенной трансформации, я использовал тест значение 0,5 для лямбда, который работает отлично. Есть ли возможность определить оптимальное значение лямбда на основе временных рядов? Буду признателен за любые предложения.

До сих пор, вот код:

library(car) 
dat <- scan("Zamboanga.csv") 
hist(dat) 
trans <- yjPower(dat,0.5,jacobian.adjusted=TRUE) 
hist(trans) 

Here is the csv file.

ответ

2

Сначала найдите оптимальную лямбду, используя функцию boxCox из пакета автомобилей, чтобы оценить λ по максимальной вероятности.

Вы можете построить его так:

boxCox(your_model, family="yjPower", plotit = TRUE) 

example from CV

Как сказал Бен Bolker в комментарии, модель здесь может быть что-то вроде

your_model <- lm(dat~1) 

Затем используйте оптимизированный лямбда в вашем существующем коде.

+1

Я смущен относительно того, какая модель (объект в команде Box-Cox) применима для моих данных. На данный момент я не подгоняю какую-либо модель данных. – Lyndz

+2

Наиболее очевидным было бы установить тривиальную линейную модель: 'your_model <- lm (dat ~ 1)'. –

+0

@ Lyndz Да, я бы посоветовал Ben Bolker об этом –

 Смежные вопросы

  • Нет связанных вопросов^_^