Post on 25-May-2020
Equação LogísticaEquação, Solução e Ajuste
A Equação Logística é dada por:
d
dtN = rNJ1 -
N
kN.
Essa equação serve para modelar a evolução de uma população, situação em que r > 0, k > 0, t
denota o tempo e N = N HtL representa o número de indivíduos da população em função do
tempo. Sob a hipótese de que a equação logística descreve evolução de uma população com
dados tabulados, um problema matemático típico consiste em ajustar os parâmetros r e k. Esse
ajuste pode ser definido (dentre outros modos) como a minimização do desvio quadrático médio,
na qual os parâmetros r e k são soluções do Método dos Mínimos Quadrados.
Na sequência, desenvolvemos o modelo logístico (também um modelo exponencial e um mod-
elo polinomial) para a seguinte tabela de dados referentes a população dos U.S.A.:
DADOS
Ano 1790 1810 1830 1850 1870 1890 1910 1930 1950 1970
População
em milhões
3.93 7.24 12.87 32.19 39.82 62.95 91.97 122.78 150.7 208.0
Modelo Logístico
Equação Logística
In[1]:= EqL = n'@tD � r * n@tD * 1 -
n@tDk
Out[1]= n¢@tD � r n@tD 1 -n@tD
k
Solução com condição inicial genérica
In[2]:= DSolve@8EqL, n@toD � no<, n@tD, tDSolve::ifun : Inverse functions are being used by Solve, so
some solutions may not be found; use Reduce for complete solution information. �
Out[2]= ::n@tD ®ãr t k no
ãr to k + ãr t no - ãr to no>>
In[3]:= 88n@tD ® HE^Hr * tL * k * noL � HE^Hr * toL * k + E^Hr * tL * no - E^Hr * toL * noL<<Out[3]= ::n@tD ®
ãr t k no
ãr to k + ãr t no - ãr to no>>
In[4]:= f@no_, r_, k_, t_D =
HE^Hr * tL * k * noL � HE^Hr * toL * k + E^Hr * tL * no - E^Hr * toL * noLOut[4]=
ãr t k no
ãr to k + ãr t no - ãr to no
Gráfico típico (to = 1, no = 2, k = 10, r = 1LIn[5]:= Plot@HE^H1 * tL * 10 * 2L � HE^H1 * 1L * 10 + E^H1 * tL * 2 - E^H1 * 1L * 2L,
8t, 0, 12<, Background ® RGBColor@0.84`, 0.92`, 1.`DD
Out[5]=
2 4 6 8 10 12
2
4
6
8
10
2 equacao-logistica1.nb
Tabela de dados
Lista de dados (ano x população) - [atenção: substituimos a variável “ano” pela variável
t = H"ano”-1870)/10]
In[5]:= DATA = List@80, 3.93<, 82, 7.24<, 84, 12.87<, 86, 23.19<, 88, 39.82<,
810, 62.95<, 812, 91.97<, 814, 122.78<, 816, 150.70<, 818, 208.00<DMatrixForm@DATADListPlot@DATA, Background ® RGBColor@0.84`, 0.92`, 1.`DDm = 10
Out[5]= 880, 3.93<, 82, 7.24<, 84, 12.87<, 86, 23.19<, 88, 39.82<,
810, 62.95<, 812, 91.97<, 814, 122.78<, 816, 150.7<, 818, 208.<<Out[6]//MatrixForm=
0 3.93
2 7.24
4 12.87
6 23.19
8 39.82
10 62.95
12 91.97
14 122.78
16 150.7
18 208.
Out[7]=
5 10 15
50
100
150
200
Out[8]= 10
equacao-logistica1.nb 3
Modelo logístico
Condição inicial
In[11]:= to = DATA@@1DD@@1DDno = DATA@@1DD@@2DD
Out[11]= 0
Out[12]= 3.93
Função de ajuste (parametrização dos modelos logísticos)
In[42]:= F@r, kD =
1
m* â
i=1
m Hf@no, r, k, DATA@@iDD@@1DDD - DATA@@iDD@@2DDL^2;
Estimativa dos parâmetros no, r , k.
In[14]:= Solve@8f@no, r, k, DATA@@5DD@@1DDD == DATA@@5DD@@2DD,
f@no, r, k, DATA@@7DD@@1DDD == DATA@@7DD@@2DD<, 8r, k<, RealsDSolve::ratnz : Solve was unable to solve the system with inexact coefficients. The
answer was obtained by solving a corresponding exact system and numericizing the result. �
Out[14]= 88r ® 0.316327, k ® 189.535<<
Ajuste (método dos mínimos quadrados)
In[15]:= Ajuste = FindMinimum@F@r, kD, 88r, 0.3<, 8k, 200<<DRs = HAjuste@@1DDL^H1 � 2L
Out[15]= 834.2068, 8r ® 0.288324, k ® 277.417<<
Out[16]= 5.84866
In[43]:= r = 0.2883;
k = 277.417;
f@t_D = HE^Hr * tL * k * noL � HE^Hr * toL * k + E^Hr * tL * no - E^Hr * toL * noLOut[45]=
1090.25 ã0.2883 t
273.487 + 3.93 ã0.2883 t
Plotagem dos dados e da curva ajustada:
In[21]:= Show@ListPlot@DATA, PlotStyle ® RGBColor@0.91`, 0.07`, 0.`DD,
Plot@f@tD, 8t, 1, 20<D, AxesOrigin ® 80, 0<, GridLines ® Automatic,
Background ® RGBColor@0.84`, 0.92`, 1.`DD
Out[21]=
5 10 15
50
100
150
200
CONCLUSÃO: a equação logística fornece um modelo razoável (nem muito ruim, nem muito bom)
da evolução da população dos U.S.A no período considerado: o resíduo fica próximo de 5.8 mil-
hões, cerca de 6% dos valores típicos da população (da ordem de 100 milhões)!
4 equacao-logistica1.nb
OUTROS MODELOS
MODELO 1: Modelo Logístico (obtido pela execução do comando “NonlinearModelFit” do
Mathematica)
In[22]:= model1 = HE^Hr1 * tL * k1 * 2L � HE^Hr1 * 1L * k1 + E^Hr1 * tL * 2 - E^Hr1 * 1L * 2Lf1 = NonlinearModelFit@DATA, model1, 8r1, k1<, tD
Out[22]=
2 ãr1 t k1
-2 ãr1 + 2 ãr1 t + ãr1 k1
Out[23]= FittedModelB446.271 ã0.387834t
325.906 + 2 ã0.387834t
F
In[24]:= F1@t_D = H446.271 E^H0.387834 tLL � H325.906 + 2 E^H0.387834 tLLOut[24]=
446.271 ã0.387834 t
325.906 + 2 ã0.387834 t
Resíduo
In[27]:= Rs1 =
1
m* â
i=1
m HF1@DATA@@iDD@@1DDD - DATA@@iDD@@2DDL^2 ^H1 � 2LOut[27]= 10.2559
In[28]:= Show@ListPlot@DATA, PlotStyle ® RGBColor@0.91`, 0.07`, 0.`DD,
Plot@F1@tD, 8t, 1, 20<D, AxesOrigin ® 80, 0<,
GridLines ® Automatic, Background ® RGBColor@0.84`, 0.92`, 1.`DD
Out[28]=
5 10 15
50
100
150
200
O modelo logístico elaborado previamente é melhor do que o modelo obtido diretamente pela
execução do comando “NonlinearModelFit” do Mathematica: o resíduo do modelo prévio ficou
próximo de 6%, enquando o resíduo do ajuste feito pelo Mathematica ficou em 10% em relação
aos dados da ordem de 100 milhões.
equacao-logistica1.nb 5
MODELO 2: polinômio de grau 5
In[29]:= model2 = a + b * t + Hc � 2!L * t^2 + Hd � 3!L * t^3 + He � 4!L * t^4 + Hg � 5!L * t^5
f2 = NonlinearModelFit@DATA, model2, 8a, b, c, d, e, g<, tDOut[29]= a + b t +
c t2
2+
d t3
6+
e t4
24+
g t5
120
Out[30]= FittedModelB 3.46762 + 6.09456 t - 2.68736 t2
+ 0.55865 t3
- 0.0378005 t4
+ 0.000886418 t5 F
In[31]:= F2@t_D =
3.46762 + 6.09456 t - 2.68736 t^2 + 0.55865 t^3 - 0.0378005 t^4 + 0.000886418 t^5
Out[31]= 3.46762 + 6.09456 t - 2.68736 t2+ 0.55865 t3
- 0.0378005 t4+ 0.000886418 t5
Resíduo
In[32]:= Rs2 =
1
m* â
i=1
m HF2@DATA@@iDD@@1DDD - DATA@@iDD@@2DDL^2 ^H1 � 2LOut[32]= 1.67624
In[33]:= Show@ListPlot@DATA, PlotStyle ® RGBColor@0.91`, 0.07`, 0.`DD,
Plot@F2@tD, 8t, 1, 20<D, AxesOrigin ® 80, 0<,
GridLines ® Automatic, Background ® RGBColor@0.84`, 0.92`, 1.`DD
Out[33]=
5 10 15
50
100
150
200
O ajuste obtido com um polinômio de grau 5 é excelente na faixa 0 £ t £ 20: o resíduo fica próximo
de 1.6%, em relação aos dados da ordem de 100 milhões!
6 equacao-logistica1.nb
MODELO 3: modelo exponencial
In[34]:= model3 = a * E^Hb * tLf3 = NonlinearModelFit@DATA, model3, 8a, b<, tD
Out[34]= a ãb t
Out[35]= FittedModelB 11.7841 ã0.160728t F
In[36]:= F3@t_D = 11.7841 E^H0.160728 tLOut[36]= 11.7841 ã
0.160728 t
Resíduo
In[37]:= G3 =
1
m* â
i=1
m HF3@DATA@@iDD@@1DDD - DATA@@iDD@@2DDL^2 ^H1 � 2LOut[37]= 7.69229
In[38]:= Show@ListPlot@DATA, PlotStyle ® RGBColor@0.91`, 0.07`, 0.`DD,
Plot@F3@tD, 8t, 1, 20<D, AxesOrigin ® 80, 0<,
GridLines ® Automatic, Background ® RGBColor@0.84`, 0.92`, 1.`DD
Out[38]=
5 10 15
50
100
150
200
O ajuste obtido no modelo exponencial tem resíduo de 7.7% aproximadamente, sendo maior do
que o resíduo de 5.8% obtido pelo modelo logístico, em relação aos dados da ordem de 100
milhões!
equacao-logistica1.nb 7