Indentificação do Ponto de Quebra (break point) - Um Tutorial com uso do software livre R

A identificação do Ponto de Quebra (break point) é uma ferramenta de grande uso no dia a dia da Fisiologia do Exercício aplicaca. Dentre as aplicação está idenficação limiar anaeróbio através de diferentes medidas: ventilação, curva VO2/CO2, freqüência cardíaca, variabilidade da freqüência cardíaca, lactato, glicemia, e ai vai. O objetivo deste post é mostrar como isto pode ser feito através do software livre R. Para isso seguiremos os seguintes passos:

  1. Instalação do R.
  2. Instalação do pacote segmented.
  3. Uso do script
Passo 2: vamos as print screen da instalação do pacote segmented para quem não esta "acostumado" ao ambiente R.

Está acima é a visualização do seu prompt o R. Procure Pacotes (Pakages) e clique em instalar pacotes. OBS: é preciso estar conectado a internet. Depois escolha um local que esteja mais próxomo fisicamente de você, exemplo BRAZIL (PR). Após fazer isso vai paraecer uma lista com todos os pacotes de R. Basta procurar o segmented e clicar OK. Legal agora você tem o pacote que indetificará os Pontos de Quebra (break point).
Pass0 3: Vamos usar o script abaixo, mas antes você precisará de dados para poder fazer seu primeiro break point. Copie os dados. Basta copiar as linhas abaixo:
x<-c(8, 8.5, 9, 9.5, 10, 10.5, 11, 11.5, 12, 12.5, 13)
y<-c (18.5, 12.7, 10.2, 8.7, 8.7, 7.9, 7.4, 6.9, 7.1, 6.8, 6.5)
São dados de retira vagal durante um teste progressivo onde, x= velocidade km/h, y =SD1 milisegundos.
# Para carregar o Pacote para fazer breakpoint copie a linha abaixo:
>require(segmented)
Agora vamos a construção do breakpoint.
Vamos fazer um gráfico para verificar a relação entre as variáveis, para isto copie:
>plot(x,y)


Agora vamos colocar uma reta, que depois será "quebrada" em dois "pedaços". Para isto copie:
>bp.lm<-lm(y~x)
Se nada apareceu, deu tudo certo! Segue o baile! Vamos encontrar o ponto de quebra. Para isto olhe o gráfico de dispersão. Como este é um método interativo é preciso dar um ponto de início para procura. Que tal começarmos com 9km/h? Copie isto:
>bp.seg<-segmented(bp.lm,seg.Z=~x,psi=list(x=c(9)),control=seg.control(display=FALSE))
Nada acontenceu? Deu tudo certo! Mas como vou ver o breakpoint? Copie ai:
>summary(bp.seg)
Agora você deve visualizar isto:
***Regression Model with Segmented Relationship(s)***

Call:
segmented.lm(obj = bp.lm, seg.Z = ~x, psi = list(x = c(9)), control = seg.control(display = FALSE))

Estimated Break-Point(s):
Est. St.Err
9.08700 0.09417

t value for the gap-variable(s) V: -1.416024e-15

Meaningful coefficients of the linear terms:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 84.350000 6.8604597 12.295094 5.400873e-06
x -8.300000 0.8061836 -10.295422 1.765237e-05
U1.x 7.638095 0.8251552 9.256556 NA


Residual standard error: 0.5701 on 7 degrees of freedom
Multiple R-Squared: 0.9822, Adjusted R-squared: 0.9746

Convergence attained in 2 iterations with relative change 2.733143e-15
Legal! Você encontrou!! 9.08km/h. Mas tente outro valor, tipo 10. Vamos lá!
> bp.seg<-segmented(bp.lm,seg.Z=~x,psi=list(x=c(10)),control=seg.control(display=FALSE))
Mudou??
Agora só tentar com seu dados!
Dúvidas, sugestões:
vitorbertolinascimento@yahoo.com.br

Comentários