지수 함수의 방정식은 $ y = ae ^ {bx} $

입니다.

데이터는 다음과 같이 표시됩니다. 변환되지 않은 지수 플롯

선형 회귀를위한 변환 : $ ln (y) = ln (a) + bx $

이 변환은 아래 플롯에 표시됩니다. 변환

그런 다음 선형 회귀 방정식은 다음과 같습니다. $ ln (y) = -369.9778 + 0.187693x $

$ y = ae ^ {형식으로 다시 변환하려면 어떻게해야합니까? bx} $ ??

제 문제는 $ ln (a) = -369.9778 $입니다. $ a $ 값을 얻는 방법.

Excel조차도 방정식을 올바르게 얻을 수 없지만 추세선이 있습니까? 어떻게 파생되는지 이해할 수 없습니다. 추세선은 데이터를 기반으로 한 실제 시나리오를 전혀 나타내지 않습니다. 잘못된 동작

하지만 최근 데이터 포인트를 사용하면 다소 정확합니다. 더 정확합니다. 최신 데이터를 얻을 때

데이터는 다음과 같습니다.

Year Asymptomatic AIDS Total 1984 0 2 2 1985 6 4 10 1986 18 11 29 1987 25 13 38 1988 21 11 32 1989 29 10 39 1990 48 18 66 1991 68 17 85 1992 51 21 72 1993 64 38 102 1994 61 57 118 1995 65 51 116 1996 104 50 154 1997 94 23 117 1998 144 45 189 1999 80 78 158 2000 83 40 123 2001 117 57 174 2002 140 44 184 2003 139 54 193 2004 160 39 199 2005 171 39 210 2006 273 36 309 2007 311 31 342 2008 505 23 528 2009 804 31 835 2010 1562 29 1591 2011 2239 110 2349 2012 3151 187 3338 2013 4477 337 4814 2014 5468 543 6011 2015 7328 503 7831 2016 8151 1113 9264 

댓글

  • ' Excel을 일상적으로 사용하지 않으며 ' 추가 된 줄이 무엇인지 모릅니다. 첫 번째 줄거리에서. ' 단조 적이 지 않기 때문에 확실히 지수가 아닙니다. 학생과 동료가 할 수 있다면 절대 곡선을주지 말라고 조언합니다. ' 제작 방법을 설명하지 마세요. ' 아마도 다항식 또는 스플라인 일 것입니다.
  • 엑셀에서 지수를 눌렀습니다. 당신은 ' 맞습니다. 방금 무작위로 클릭했습니다. 그것을 느꼈다. 선형 회귀에만 익숙한 모든 종류의 선을 올바르게 맞추는 방법을 찾으려고합니다.
  • 다른 사이트에 Excel 파일을 제공해 주셔서 감사합니다. ' 데이터를 가져 와서 질문에 나열했습니다. ' 많은 사람들이하지 않는 ' Excel을 사용하지 않고 하나 또는 두 개의 다른 프로그램을 잘라내어 예제를 제공하는 더 좋은 방법입니다. 또는 '없고 사람들이 좋아하는 소프트웨어에 복사하여 붙여 넣을 수있는 것을 제공합니다.

답변

이 두 회귀는 서로 정확하게 변환 할 수있는 매개 변수 값을 제공하지 않습니다.

$ ln (y) ~ vs. ~ A + B ~ x $

$ y ~ vs. ~ a ~ exp (b ~ x) $

다른 제곱합, 즉 다음을 최소화하기 때문입니다.

$ \ Sigma_i (ln (y_i)-(A + B ~ x_i)) ^ 2 $

$ \ Sigma_i (y_i-a ~ exp (b ~ x_i)) ^ 2 $

그리고 그것들은 동등한 최소화 문제가 아닙니다.

첫 번째 회귀는 선형 회귀를 사용하여 $ A $와 $ B $에 대해 풀 수 있습니다.

두 번째 회귀를 해결하려면 먼저 첫 번째 회귀를 푸십시오. 그런 다음 $ a = exp (A) $ 및 $ b = B $를 시작 값으로 사용하여 비선형 회귀 솔버 (즉, Excel에서 솔버가 됨)를 사용하여 두 번째 회귀 문제를 해결합니다. 또한 비선형 회귀 모델이 선형 회귀 모델에서 충분히 멀다면 이러한 시작 값이 적절하지 않을 수 있으며,이 경우 다른 시작 값을 시도해야합니다.

추가됨

데이터가 질문에 추가되었으므로 이제 위 단락에서 설명한 제안 된 조치를 수행 할 수 있습니다. 아래에서는이를 수행하는 R 코드를 보여줍니다. 컴퓨터에 R을 설치하는 경우 해당 코드를 복사하여 R 콘솔에 붙여 넣으세요.

먼저 데이터를 DF로 읽어 들인 다음 선형 모델을 실행합니다. 즉, log(Total)Year의 회귀. R의 log는 로그베이스 e입니다. 생성 된 회귀 계수는 절편과 기울기에 대해 A = -369.977814 및 B = 0.187693입니다. 그런 다음 기울기를 변수 b로 추출하여 비선형 회귀에서 시작 값으로 사용합니다. 비선형 회귀 알고리즘 인 plinear는 비선형 매개 변수에 대한 시작 값만 필요하므로 절편을 시작 값으로 사용할 필요가 없습니다. 그런 다음 Total 대 비선형 회귀를 실행합니다. a * exp(b * Year). 생성되는 계수는 b = 2.838264e-01 및 a = 3.117445e-245입니다. 그런 다음 결과를 플로팅하면 데이터와 상당히 가까운 것처럼 보입니다.

일반적으로 비선형 최적화를 수행 할 때 수치 고려 사항은 매개 변수가 실제와 거의 같지 않은 대략 같은 크기를 원한다는 것을 의미합니다. 이는 모델을 다음과 같이 다시 매개 변수화 할 것을 제안합니다.

$ y ~ vs. ~ exp (a ~ + ~ b ~ x_i) $ [재 매개 변수화 된 비선형 모델]

아래 코드의 끝에서 그렇게합니다. 이제 매개 변수가 a = -562.9959733 및 b = 0입니다.2838263 여기서 a는 다시 매개 변수화 된 비선형 모델의 정의에 정의 된 것과 같습니다. 이러한 매개 변수는 훨씬 더 비교 가능한 값이므로 다시 매개 변수화 된 비선형 모델이 선호됩니다.

그래프는 첫 번째 비선형 회귀 모델에 대해 표시된 것과 유사합니다.

Lines <- "Year Asymptomatic AIDS Total 1984 0 2 2 1985 6 4 10 1986 18 11 29 1987 25 13 38 1988 21 11 32 1989 29 10 39 1990 48 18 66 1991 68 17 85 1992 51 21 72 1993 64 38 102 1994 61 57 118 1995 65 51 116 1996 104 50 154 1997 94 23 117 1998 144 45 189 1999 80 78 158 2000 83 40 123 2001 117 57 174 2002 140 44 184 2003 139 54 193 2004 160 39 199 2005 171 39 210 2006 273 36 309 2007 311 31 342 2008 505 23 528 2009 804 31 835 2010 1562 29 1591 2011 2239 110 2349 2012 3151 187 3338 2013 4477 337 4814 2014 5468 543 6011 2015 7328 503 7831 2016 8151 1113 9264" DF <- read.table(text = Lines, header = TRUE) 

이제 실행 :

# run linear regression model fit.lm <- lm(log(Total) ~ Year, DF) coef(fit.lm) ## (Intercept) Year ## -369.977814 0.187693 b <- coef(fm.lm)[[2]] b ## [1] 0.187693 # run nonlinear regresion model fit.nls <- nls(Total ~ exp(b * Year), DF, start = list(b = b), alg = "plinear") coef(fit.nls) ## b .lin ## 2.838264e-01 3.117445e-245 plot(Total ~ Year, DF) lines(fitted(fit.nls) ~ Year, DF, col = "red") a <- coef(fit.lm)[[1]] a ## [1] -369.9778 # run reparameterized nonlinear regression model fit2.nls <- nls(Total ~ exp(a + b * Year), DF, start = list(a = a, b = b)) coef(fit2.nls) ## a b ## -562.9959733 0.2838263 

스크린 샷

댓글

  • '가 맞습니다. 실제로 선형화는 구현하기가 더 쉽지만 ' 그 후에는 회귀 문제 일뿐입니다. 이와 같은 데이터의 경우 로그 $ y $ 대 연도의 그래프가 암시하는 오류 구조를 고려할 때 타당 해 보입니다. 특히 산포는 대수 스케일에서도 대략적으로 나타납니다. 확인할 원시 데이터가 ' 없지만이 선형화와 같은 예에서는 먼저 문제가 있거나 열등한 것 같지 않습니다.
  • 선형 회귀는 원하는 답변. 이것이 질문의 요점입니다.
  • 나는 ' 그런 식으로 질문을 전혀 읽지 않습니다. OP는 ' (a) 일반적으로 (b) Excel에서 수행 된 모든 작업을 이해하지 못했습니다. (OP가 스레드를 다시 방문했지만 지금까지 더 긴 답변에 응답하지 않는 것은 당황 스럽습니다.)
  • 마지막에있는 질문의 토론과 함께 제공되는 그래프는 선형 회귀에서 얻은 것은 원하는 것이 아닙니다.
  • ' 많은 질문이 혼란스럽고 심지어 모순됩니다. 데이터가 정확히 기하 급수적이라면 ' 모델이 어떻게 장착되었는지는 중요하지 않습니다. ' 높은 값에서 미달하는 중간 맞춤 중에서 선택할 수 있습니다. 그들에게 더 많은 관심을 기울이는 중간 핏; 완전히 다른 모델을 생각합니다. OP는 그들을 괴롭히는 것에 대한 권한이지만 (말했듯이) 아직 중요한 세부 사항을 명확히하지 않았습니다. ' 그럼에도 불구하고 답변은이 지역의 다른 사람들에게 유용하거나 흥미로울 수있는 다양한 요점을 제시합니다.

답변

역년을 $ x $로 사용하고 있으므로 $ y = a \ exp (bx) $의 $ a $는 $ x = 0 년의 $ y $ 값이거나 $. 0 년이 없다는 현명한 점을 제쳐두고, 그 해는 $ 1 $ AD (CE) 전 해 였고, 곡선을 뒤로 향한 정신적 투영은 적합치가 실제로 연간 매우 작을 것이라는 점을 강조해야합니다. $ 0 $ (그러나 지수 함수가 보장하므로 여전히 양수).

확인할 원본 데이터를 제공하지 않으 셨지만 무엇을 보여 주 셨는지 의심 할 이유가 없습니다. $ \ exp (-369.9778) $가 $ 2.09 \ times 10 ^ {-161이됩니다. } $, 실제로는 매우 작습니다. 따라서 Excel은 소수점 이하 두 자리까지 정확합니다. 또한 결과를 거듭 제곱 표기법으로 표시해야합니다.

이게 내 문제라면 저는 $ a \ exp [b (x-2000)] $라고 말하면 $ a $는 $ y $를 $ x = 2000 $로 더 쉽게 해석 할 수 있으며 데이터와 더 쉽게 비교할 수 있습니다. (수치 정밀도는 손상되지 않습니다. 도움이 될 수 있습니다.)

JW Tukey는 우리가 절편이 아닌 “centercepts”에 맞아야한다고 주장했으며이 예는 요점을 강조합니다. 권위 : 이 페이지 의 Roger Koenker.

로그 스케일로 플로팅하면 지수가 대략적으로 적합하다는 것을 알 수 있습니다. “문제가 아닙니다.

에서 원산지 선택에 대한 관련 토론 회귀에서 날짜 변수를 사용하는 것이 합리적입니까?

편집 주어진 데이터를 Stata로 읽어 들였습니다.

나는 회귀하여 $ \ text {total} = a \ exp [b (\ text {year}-2000)] $를 피팅했습니다. $ \ ln (\ text {total}) $ on $ \ text {year}-2000 $.

그러면 $ 5.40827 + 0.187693 (\ text {year}-2000) $의 선형 방정식이 생성됩니다.

따라서 $ 2000 $의 “centercept”는 $ 223 $ 정도로 다시 변환됩니다. 데이터 값은 $ 123 $입니다. 여기서 중요한 세부 정보는 $ 0.187693 $이 Excel 결과와 일치한다는 것입니다.

I 그런 다음 비선형 최소 제곱을 사용하여 동일한 방정식을 직접 피팅하고 $ 105.2718 $의 centercept와 $ 0.2838264 $의 계수를 얻었습니다. 비선형 최소 제곱이 t를 할인하지 않기 때문에 이는 매우 다르며 놀랍지 않습니다. 그는 로그에 의한 선형화처럼 높은 값을가집니다. 로그 척도에 대한 자체 그래프는 로그 척도에 맞추면 나중에 가장 높은 값이 과소 예측된다는 것을 보여줍니다. 반대로, 비선형 최소 제곱은 반대 방향으로 기울어집니다.

지수 값이 아주 잘 맞는 것처럼 보이더라도 나는 그것을 아주 먼 미래로 추정하려고하지 않을 것입니다.지수가 대략적인 0 근사치가 가장 좋고 요청한 것보다 더 적당한 외삽을 사용하는 이러한 데이터를 사용하면 불확실성이 심각합니다.

여기에 이미지 설명 입력

댓글

  • 참조 해 주셔서 감사합니다 i '이 내용을 읽습니다. 나는 방정식의 기원과 그것들이 어떻게 작동하는지에 관한 기본 사항이 좋지 않아서 도구를 잘못 적용합니다. ' 대부분의 사람들이 수학을 어렵게 생각하는 이유

답변

먼저 로그 및 지수 함수에 대한 칸 아카데미 동영상을 찾아 보는 것이 좋습니다.

a = e^(-369.9778)를 작성하면 괜찮습니다.

댓글

  • 저는 ' 그 가치를 어떻게 얻었는지 잘 모르겠습니다. ' log(a) = -369.977810^(-369.9778) = a와 동일하지 않습니까?
  • 죄송합니다. 당신이 ' 맞습니다 ' s e^(-369.9778). 추세선과 회귀 방정식의 동작을 설명하지는 않지만. 아마도 ' 제가 누락 된 것이 '
  • 처음 질문을 작성했을 때 간단하다고 생각했습니다. 수학 문제. 이제 요점을 알았습니다.
  • 오해의 소지가있는 질문에 대해 죄송합니다. 내가 처음 질문을했을 때 나는 문제의 원인이 내 결함이있는 대수라고 생각했습니다. 저는 ' 수학의 기초가별로 좋지 않아 채워야 할 구멍이 많습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다