Escolar Documentos
Profissional Documentos
Cultura Documentos
Funes em R
Ambiente R
O primeiro passo abrir o R. No menu do R, atualizar todos os pacotes. Quando
aparecer a opo da atualizao, optar por: Brasil-PR. Segundo passo importante: Carregar pacotes: selecione: qcc, forecast,stats, tseries, nortest e outros......, os citados so os mais importantes para podermos trabalhar sem ter que estar baixando outros pacotes. Terceiro passo atualizar novamente. Importante todas as vezes que abrir o R, dever proceder os passos citados.
Tpicos de Estatistica no R
Mostra as caracteristicas Importao dos Dados
vinculada ao pacote a ser utilizado. O ambiente R, bastante menuncioso em relao aos dados, precisa-se tomar cuidado. Erros so facilmente apresentados devido aos detalhes acima citados.
Importao de Dados
Podemos utilizar a planilha eletrnica, indiferente:
BrOffice ou Microsoft, o resultado ser o mesmo. Os dados podem ser lanados na planilha normalmente, em forma de tabela de dados, com valores nmericos ou alfanumericos (strings). Depois de lanados, vai ao menu salvar como: Salva-se a planilha no formato .CSV (valores separados por vrgula).
usar o comando read.csv para armazenar os dados desse arquivo em um objeto do R chamado dados. Da seguinte forma: sintaxe:
dados <- read.csv("caminho_e_nome_do_arquivo.csv", opes)
os reconhecer. Alguns exemplos iremos utilizar na aula de hoje, para melhor esclarecimento.
Cont.... do exemplo
## a clearer way to do this would be ## Not run: > plot(nhtemp, lag(nhtemp, 1), cex = .8, col="blue", > main = "Lag plot of New Haven temperatures") ## End(Not run)
Correlao
Iremos trabalhar o coeficiente de correlao de
Pearson. No h grandes segredos nestas funes. Elas esto no pacote STATS, includo na instalao usual do R. Procurando tornar mais fcil a compreenso, iremos mostrar como utilizar o R atravs de um exemplo prtico.
Exemplo:
Vamos
calcular o coeficiente de correlao entre a dureza de um plstico medida em unidades de Brineel e o tempo de secagem. O tamanho da amostra de 16 pecas que vem de um lote de 2000.
Como trabalhar no R
Ler os dados:
>dados=read.csv('C:/caminho/nome.csv',header=T,sep=';', dec=',')
Visualizar os dados:
> dados
Uma vez que o conjunto de dados foi carregado , para
Funo attach()
> attach(dados) >X [1] 16 16 16 16 24 24 24 24 32 32 32 32 40 40 40 40
Obs.: Vejam ento que o R mostra
O mesmo se obtm:
Escrevendo
Plotar o Grfico:
>plot(x,y)
Onde x e y so vetores:
Vocs podem verificar uma infinidade de
funcionalidades para esta funo na ajuda do R. > help (plot) ou > ?plot
Elaborar o Grfico:
Fazendo, ento,o grfico para os nossos
Grfico
Salvar como:
possvel copiar ou salvar o grfico em diversos formatos:
dimenses de x
Metdo de Pearson
possvel escolher o mtodo, de acordo com o
problema. Para o nosso exemplo utilizaremos Pearson. Veja ento como ficam sintaxe e resultados do exemplo: > cor(dados) X Y X 1.0000000 0.9864599 Y 0.9864599 1.0000000
> cor.test(x, y,alternative = c("two.sided", "less", "greater"), method = c("pearson", "kendall", "spearman"), exact = NULL, conf.level = 0.95, ...)
unilateral ou bilateral, escolher o mtodo e grau de confiana. O default considera um teste bilateral, Pearson e 0,95. Seguindo ento com o exemplo: > cor.test(dados$X,dados$Y) Observem o resultado no console....
copiados facilmente para o editor de texto de sua preferncia. Como complementao colocamos que possvel (e recomendvel) escrever uma rotina no R para os clculos desejados. Deste modo vocs podem rodar como um programa e salvar para futuras utilizaes.
Observem que:
Na figura anterior, vejam como abrir uma janela
(R Editor) para a edio do texto. As funes podem ser escritas nesta janela (prxima figura) e ento possvel rodar tudo ou apenas uma seleo de funes. Na figura seguinte, aps a prxima, observem que: O script pode ser salvo em .txt ou em .R.
Editando Script
Executando Script
PACOTE FORECAST
Funes do exemplo
importante lembrar que como estamos trabalhando com sries temporais vamos transformar os dados, geralmente importados de planilhas, em um objeto que o R interprete como uma srie temporal. O comando ts ( ) permite isto. A sintaxe est descrita a seguir: ts(data = NA, start = 1, end = numeric(0), frequency = 1,deltat = 1).
As funes:
A funo as.ts() similar a funo ts() e,
para testar se um objeto uma srie temporal pode-se utilizar is.ts(). Porm, primeiramente vamos fazer com que o R possa ler os dados: >dados=read.csv('C:/caminho/nome.csv' ,header=T,sep=';',dec=',').
Observaes:
importante nomear o conjunto de dados.
= T significa que a primeira linha corresponde aos nomes das variveis. sep = ; indica que os campos foram separados utilizando ponto e vrgula. dec = , denota que para separar os decimais foi usada vrgula.
Exemplo 1
Vamos transformar os dados da produo de
energia eltrica em um objeto que corresponde a uma srie temporal com freqncia igual a 1 (anual). O vetor com os dados tem o nome de dados e iremos chamar a srie de dados.ts. dados.ts=ts(dados, start=1970,frequency=1)
Funo tsdisplay
Uma vez importados os dados vamos construir um
grfico da srie de dados juntamente com os grficos de autocorrelao e autocorrelao parcial dos dados. Isto possvel com a funo tsdisplay (). > tsdisplay(x, plot.type = "partial", points = TRUE, ci.type = "white", lag.max = round(10 * log10(length(x))), na.action = na.interp, main = NULL, ylab = "", xlab = "", pch = 1, cex = 0.5, ...)
Observaes:
Exemplo 2:
Aplicando aos dados da tabela 1, verifique que
o R retorna o grfico da srie original e os grficos acf e pacf (Figura 1). > tsdisplay(dados)
Os grficos plotados ficaram da seguinte forma:
Grficos Plotados
Modelo ets
possvel, com este pacote, aproximar um
modelo de suavizao exponencial. Isto feito com auxlio da funo ets ( ). Como o procedimento pode ser automtico, o R mesmo ir avaliar o nvel, a tendncia e sazonalidade para escolher o melhor modelo.
A sintaxe :
> ets (y, model="ZZZ", damped=NULL, alpha=NULL, beta=NULL, gamma=NULL, phi=NULL,additive.only=FALSE, lower=c(rep(0.01,3), 0.8), upper=c(rep(0.99,3),0.98),opt.crit=c("lik","amse ","mse","sigma"), nmse=3,bounds=c("both","usual","admissible"), ic=c("aic","aicc","bic"))
Observaes:
Observaes:
Exemplo 3:
Vamos deixar que o R escolha o modelo de suavizao
exponencial para os dados da produo de energia. > modelo=ets(dados.ts) Obs: modelo o nome que escolhemos para o objeto do R que corresponde ao modelo de suavizao exponencial. Ao digitar modelo o R retorna na tela o tipo de modelo, os parmetros (smoothing parameters), os valores iniciais(initial states), o erro padro (sigma) e os critrios de informao (AIC, AICc e BIC).
ets (y,model=ANN) corresponde a um modelo com erro aditivo sem tendncia, nem sazonalidade, ou seja, a suavizao exponencial simples. Do mesmo modo ets (y,model=AAM) denota o mtodo de Holt-Winters Multiplicativo com erro aditivo.
Verificao do modelo
Uma vez escolhido o mtodo, recomenda-se calcular
algumas medidas dos erros de previso. A funo accuracy ( ) retorna as usuais medidas dos erros de previso: ME (erro mdio), RMSE (erro quadrtico mdio), MAE (erro absoluto mdio), MPE (erro mdio percetual), MAPE (erro absoluto percentual mdio) e MASE (raiz do erro absoluto mdio). O R permite calcular estas medidas dentro e fora da amostra.
Exemplo 4:
Em seguida so calculadas com o R as medidas
dos erros para os dados da produo mensal de energia eltrica. > accuracy(modelo) Vocs percebero que apresentar os resultados, para: ME - RMSE MAE - MPE - MAPE MASE ( os resultados sero numricos)
Cont.. do exemplo 4
Para complementar importante analisar os
resduos do modelo quanto normalidade e tambm verificar se estes tem autocorrelao. Os resduos do modelo podem ser obtidos com os seguintes comandos: > residuals (nome do objeto) ou > nome do objeto$residuals O grfico de autocorrelao dos resduos plotado com a funo acf().
Exemplo 6:
Para o modelo ajustado aos dados da produo
de energia so apresentados os resultados do R para a anlise dos resduos. Em primeiro lugar os resduos, um histograma destes, o teste JarqueBera e o grfico de autocorrelao. > modelo$residuals
Observem que:
Com os comandos acima um vetor com
os resduos do modelo obtido. O histograma e o grfico de autocorrelao dos resduos pode ser visualizado na figura 2. > hist(modelo$residuals) > acf(modelo$residuals)
Grficos:
> jarque.bera.test(modelo$residuals) > data: modelo$residuals > X-squared = 4.1788, df = 2, p-value = 0.1238
Previses:
Para
fazer previses, a funo forecast(), mesmo nome do pacote deve ser utilizada. A sintaxe bem simples:
h,
level=c(80,95),
Observaes:
Sendo assim:
Deste modo podem ser feitas previses com os
modelos ajustados com auxlio do pacote. Se, no lugar do objeto que corresponde ao modelo, estiver uma srie temporal, a funo automaticamente ajusta um modelo ETS. O R retorna as estimativas pontuais de previso para o nmero de perodos de h e os respectivos intervalos de confiana.
Exemplo 7:
Clculo com o R das previses pontuais e
dados.
Funo plot()
> plot(objeto)
O
Comando seqplot.ts()
>seqplot.ts(srie original,dados ajustados)
Os dados ajustados so obtidos da
mesma forma que os resduos: > nome do modelo$fitted > fitted(nome do modelo) ou
Exemplo 8:
Para os dados da produo de energia
foram constridos os grficos com as sries reais e ajustadas e das previses (figuras 3 e 4).
>plot(prev)
>seqplot.ts(dados.ts,fitted(modelo))
Grfico Figura 3
Grfico Figura 4: