R의 로지스틱 성장 곡선을 맞추는 가장 고통스럽지 않은 방법은 무엇입니까?


19

분명히 이것은 회귀를 사용하여 범주 형 변수를 예측한다는 의미에서 로지스틱 회귀에 대해 이야기하고 있지 않은 것처럼 Google에게는 쉽지 않습니다.

주어진 데이터 포인트에 로지스틱 성장 곡선을 맞추는 것에 대해 이야기하고 있습니다. 구체적으로 말하면, 는 1958 년부터 2012 년까지 주어진 연도이며, 는 년 11 월의 추정 된 CO2 ppm (이산화탄소 백만 분율)입니다 .엑스와이엑스

지금은 가속화되고 있지만 어느 시점에서 수평을 유지해야합니다. 그래서 나는 물류 곡선을 원합니다.

아직이 작업을 수행하는 비교적 간단한 방법을 찾지 못했습니다.


3
로지스틱 커브 만이 '레벨을 벗어난'커브는 아닙니다. 실제로 여러 연속 cdf의 배수는이 요구 사항을 충족합니다.
Glen_b-복지국 모니카

2
패키지 그로 핏 사용 스플라인 및 성장 곡선을 사용합니다.

Nick, 코드를 배치 해 주셔서 대단히 감사합니다. 방정식으로 작성하는 방법이 궁금했습니다. 코드에서 값 C, a 및 K는 어떤 매개 변수를 나타 냅니까?

1
나는 당신이 나를 @ user2581681로 데려 가고 있다고 생각합니다. 방금 그들의 답변을 편집했습니다.
Nick Cox

답변:


19

nls()기능을 참조하십시오 . 를 통해 자체 시작 로지스틱 커브 모델 기능이 SSlogis()있습니다. 예를 들어 ?nls도움말 페이지에서

> library("nls")
> DNase1 <- subset(DNase, Run == 1)
>      
> ## using a selfStart model
> fm1DNase1 <- nls(density ~ SSlogis(log(conc), Asym, xmid, scal), 
+                  DNase1)

이러한 기능에 대한 도움말 페이지와 가능하면 더 자세한 정보를 얻기 위해 링크 된 참조를 읽으십시오.


9

조금 전에 같은 질문이있었습니다. 이것이 내가 찾은 것입니다.

Fox와 Weisberg는 nls 함수 (Gavin이 언급 한 자체 시작 옵션 유무)를 사용하여 훌륭한 보충 기사를 작성했습니다. 여기에서 찾을 수 있습니다 :

http://socserv.mcmaster.ca/jfox/Books/Companion/appendix/Appendix-Nonlinear-Regression.pdf

이 기사에서 물류 곡선을 데이터에 피팅 할 때 클래스에서 사용할 함수를 작성했습니다.

###Log fit - be sure to use quotes around the variable names in the call
log.fit <- function(dep, ind, yourdata){
#Self-starting...

y <- yourdata[, dep]
x <- yourdata[, ind]

log.ss <- nls(y ~ SSlogis(x, phi1, phi2, phi3))

#C
C <- summary(log.ss)$coef[1]
#a
A <- exp((summary(log.ss)$coef[2]) * (1/summary(log.ss)$coef[3]))
#k
K <- (1 / summary(log.ss)$coef[3])

plot(y ~ x, main = "Logistic Function", xlab=ind, ylab=dep)
lines(0:max(x), predict(log.ss, data.frame(x=0:max(x))), col="red")

r1 <- sum((x - mean(x))^2)
r2 <- sum(residuals(log.ss)^2)

r_sq <- (r1 - r2) / r1

out <- data.frame(cbind(c(C=C, a=A, k=K, R.value=sqrt(r_sq))))
names(out)[1] <- "Logistic Curve"

return(out)
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.