Artigos

4.7: Ajustando Modelos Exponenciais aos Dados


Na seção anterior, vimos linhas numéricas usando escalas logarítmicas. Também é comum ver gráficos bidimensionais com um ou ambos os eixos usando uma escala logarítmica.

Um uso comum de uma escala logarítmica no eixo vertical é representar graficamente as quantidades que estão mudando exponencialmente, pois ajuda a revelar as diferenças relativas. Ambos os gráficos de ações abaixo mostram o Dow Jones Industrial Average, de 1928 a 2010.

Ambos os gráficos têm uma escala horizontal linear, mas o primeiro gráfico tem uma escala vertical linear, enquanto o segundo tem uma escala vertical logarítmica. A primeira escala é aquela com a qual estamos mais familiarizados e mostra o que parece ser uma forte tendência exponencial, pelo menos até o ano 2000.

Exemplo ( PageIndex {1} )

Houve quedas no mercado de ações em 1929 e 2008. Qual foi maior?

Solução

No primeiro gráfico, a queda do mercado de ações em torno de 2008 parece muito grande e, em termos de valores em dólares, foi de fato uma queda grande. No entanto, o segundo gráfico mostra mudanças relativas, e a queda em 2009 parece menos importante neste gráfico, e de fato a queda a partir de 1929 foi, em termos percentuais, muito mais significativa.

Especificamente, em 2008, o valor Dow caiu de cerca de 14.000 para 8.000, uma queda de 6.000. Esta é obviamente uma grande queda de valor e equivale a uma queda de cerca de 43%. Em 1929, o valor Dow caiu de um máximo de cerca de 380 para um mínimo de 42 em julho de 1932. Embora em termos de valor essa queda de 338 seja muito menor do que a queda de 2008, corresponde a uma queda de 89%, um valor muito maior queda relativa do que em 2008. A escala logarítmica mostra essas mudanças relativas.

O segundo gráfico acima, em que um eixo usa uma escala linear e o outro eixo usa uma escala logarítmica, é um exemplo de um semi-log gráfico.

Definição: Semi-log e log-log GRÁFICOS

UMA semi-log graph é um gráfico com um eixo usando uma escala linear e um eixo usando uma escala logarítmica.

UMA log-log graph é um gráfico com ambos os eixos usando escalas logarítmicas.

Exemplo ( PageIndex {2} )

Trace 5 pontos no gráfico de (f (x) = 3 (2) ^ {x} ) em um gráfico semilogista com uma escala logarítmica no eixo vertical.

Solução

Para fazer isso, precisamos encontrar 5 pontos no gráfico e, em seguida, calcular o logaritmo do valor de saída. Escolhendo arbitrariamente 5 valores de entrada,

(x ) (f (x) )log ( (f (x) ))
-3 (3 (2) ^ {- 1} = dfrac {3} {8} )-0.426
-1 (3 (2) ^ {- 1} = dfrac {3} {2} )0.176
0(3(2)^{0} = 3)0.477
2(3(2)^{2} = 12)1.079
5(3(2)^{5} = 96)1.982

Plotando esses valores em um gráfico de semi-log,

Observe que, nesta escala semilogista, os valores da função exponencial aparecem lineares. Podemos mostrar que esse comportamento é esperado utilizando propriedades logarítmicas. Para a função (f (x) = ab ^ {x} ), encontrar log ( (f (x) )) dá

[ log left (f (x) right) = log left (ab ^ {x} right) nonumber ] Utilizando a propriedade sum de logs,
[ log left (f (x) right) = log left (a right) + log left (b ^ {x} right) nonumber ] Agora utilizando a propriedade expoente,
[ log left (f (x) right) = log left (a right) + x log left (b right) nonumber ]

Essa relação é linear, com log (uma) como a interceptação vertical, e log (b) como a inclinação. Essa relação também pode ser utilizada ao contrário.

Exemplo ( PageIndex {3} )

Um gráfico exponencial é traçado em eixos semi-log. Encontre uma fórmula para a função exponencial (g (x) ) que gerou este gráfico.

Solução

O gráfico é linear, com interceptação vertical em (0, 1). Observando a mudança entre os pontos (0, 1) e (4, 4), podemos determinar que a inclinação da reta é ( dfrac {3} {4} ). Como a saída é log ( (g (x) )), isso leva à equação ( log left (g (x) right) = 1 + dfrac {3} {4} x ).

Podemos resolver esta fórmula para (g (x) ) reescrevendo na forma exponencial e simplificando:

[ log left (g (x) right) = 1 + dfrac {3} {4} x nonumber ] Reescrevendo como exponencial,
[g (x) = 10 ^ {1+ dfrac {3} {4} x} nonumber ] Quebrando isso usando regras de expoente,
[g (x) = 10 ^ {1} cdot 10 ^ { dfrac {3} {4} x} nonumber ] Usando regras de expoentes para agrupar o segundo fator,
[g (x) = 10 ^ {1} cdot left (10 ^ { dfrac {3} {4}} right) ^ {x} nonumber ] Avaliando as potências de 10,
[g (x) = 10 left (5.623 right) ^ {x} nonumber ]

Exercício ( PageIndex {1} )

Um gráfico exponencial é traçado em um gráfico de semi-log abaixo. Encontre uma fórmula para a função exponencial (g (x) ) que gerou este gráfico.

Responder

[g (x) = 10 ^ {2 - 0,5x} = 10 ^ 2 (10 ^ {- 0,5}) ^ {x}, quad f (x) = 100 (0,3162) ^ x não numérico ]

Ajustando funções exponenciais para Dados

Algumas opções de tecnologia fornecem funções dedicadas para localizar funções exponenciais que ajustam os dados, mas muitas fornecem apenas funções para ajustar funções lineares aos dados. A escala semilogista nos fornece um método para ajustar uma função exponencial aos dados, construindo sobre as técnicas que temos para ajustar funções lineares aos dados.

para ajustar uma função exponencial a um conjunto de dados usando linearização

  1. Encontre o registro dos valores de saída de dados
  2. Encontre a equação linear que se ajusta aos pares (entrada, log (saída)). Esta equação terá a forma log ( (f (x) )) = (b + mx ).
  3. Resolva esta equação para a função exponencial (f (x) )

Exemplo ( PageIndex {4} )

A tabela abaixo mostra o custo em dólares por megabyte de espaço de armazenamento em discos rígidos de computador de 1980 a 2004, e os dados são mostrados em um gráfico padrão à direita, com a entrada alterada para anos após 1980.

Esses dados parecem estar diminuindo exponencialmente. Para encontrar uma função que modele esse declínio, começaríamos por encontrar o log dos custos.

Solução

Como esperado, o gráfico do log de custos parece bastante linear, sugerindo que uma função exponencial se ajustará aos dados originais. Usando a tecnologia, podemos encontrar uma equação linear para ajustar os valores de log (custo). Usando (t ) como anos após 1980, a regressão linear fornece a equação:

[ log (C (t)) = 2.794-0.231t nonumber ]

Resolvendo para (C (t) ),

[C (t) = 10 ^ {2.794-0.231t} não numérico ]
[C (t) = 10 ^ {2.794} cdot 10 ^ {- 0,231t} não numérico ]
[C (t) = 10 ^ {2.794} cdot left (10 ^ {- 0.231} right) ^ {t} nonumber ]
[C (t) = 622 cdot left (0,5877 right) ^ {t} nonumber ]

Essa equação sugere que o custo por megabyte para armazenamento em discos rígidos de computador está diminuindo cerca de 41% a cada ano.

Usando essa função, podemos prever o custo de armazenamento no futuro. Prevendo o custo no ano de 2020 ( (t = 40 )):

(C (40) = 622 left (0,5877 right) ^ {40} aproximadamente 0,000000364 ) dólares por megabyte, um número muito pequeno. Isso equivale a US $ 0,36 por terabyte de armazenamento no disco rígido.

Comparando os valores previstos por este modelo com os dados reais, vemos que o modelo corresponde aos dados originais em ordem de magnitude, mas os valores específicos parecem bastante diferentes. Este é, infelizmente, o melhor modelo exponencial que pode ajustar os dados. É possível que um modelo não exponencial se ajuste melhor aos dados, ou pode haver uma variabilidade ampla o suficiente nos dados para que nenhum modelo relativamente simples se ajuste melhor aos dados.

AnoCusto real por MBCusto previsto por modelo
1980192.31622.3
198487.8674.3
198815.988.9
199241.1
19960.1730.13
20000.0068490.015
20040.0011490.0018

Exercício ( PageIndex {2} )

A tabela abaixo mostra o valor (V ), em bilhões de dólares, das importações americanas da China (t ) anos após 2000.

ano200020012002200320042005
(t )012345
(V )100102.3125.2152.4196

Esses dados parecem estar crescendo exponencialmente. Linearize esses dados e construa um modelo para prever quantos bilhões de dólares de importações eram esperados em 2011.

Responder

(V (t) = 90,545 (1,2078) ^ t ). Prevendo em 2011, (V (11) = 722,45 ) bilhões de dólares.

Tópicos importantes desta seção

  • Gráfico de semi-log
  • Gráfico log-log
  • Linearização de funções exponenciais
  • Ajustando uma equação exponencial aos dados

Construindo um modelo exponencial a partir de dados

Como aprendemos, há uma infinidade de situações que podem ser modeladas por funções exponenciais, como crescimento do investimento, decadência radioativa, mudanças na pressão atmosférica e temperaturas de um objeto de resfriamento. O que esses fenômenos têm em comum? Por um lado, todos os modelos aumentam ou diminuem à medida que o tempo avança. Mas essa não é toda a história. É o caminho aumento ou diminuição de dados que nos ajuda a determinar se é melhor modelado por uma equação exponencial. Conhecer o comportamento das funções exponenciais em geral nos permite reconhecer quando usar a regressão exponencial, então vamos revisar o crescimento exponencial e o declínio.

Regressão exponencial é usado para modelar situações em que o crescimento começa lentamente e depois acelera rapidamente sem limites, ou onde a decadência começa rapidamente e depois diminui para ficar cada vez mais perto de zero. Usamos o comando “ExpReg” em um utilitário gráfico para ajustar uma função exponencial a um conjunto de pontos de dados. Isso retorna uma equação da forma, y ​​= a b x y = a b x

Dado um conjunto de dados, execute a regressão exponencial usando um utilitário gráfico.

  1. Use o menu STAT e, em seguida, EDIT para inserir os dados fornecidos.
    1. Limpe todos os dados existentes das listas.
    2. Liste os valores de entrada na coluna L1.
    3. Liste os valores de saída na coluna L2.
    1. Use ZOOM [9] para ajustar os eixos para caber nos dados.
    2. Verifique se os dados seguem um padrão exponencial.
    1. Selecione “ExpReg” no menu STAT e depois CALC.
    2. Use os valores retornados para uma e b para registrar o modelo, y = a b x. y = a b x.

    Em 2007, um estudo universitário foi publicado investigando o risco de acidente ao dirigir alcoolizado. Dados de 2.871 acidentes foram usados ​​para medir a associação do nível de álcool no sangue (CAS) de uma pessoa com o risco de estar em um acidente. [link] mostra os resultados do estudo 1. O risco relativo é uma medida de quantas vezes mais probabilidade uma pessoa tem de cair. Assim, por exemplo, uma pessoa com BAC de 0,09 tem 3,54 vezes mais probabilidade de cair do que uma pessoa que não bebeu álcool.

    1. Usando o menu STAT e, em seguida, EDITAR em um utilitário de gráfico, liste os valores de BAC em L1 e os valores de risco relativo em L2. Em seguida, use o recurso STATPLOT para verificar se o gráfico de dispersão segue o padrão exponencial mostrado em [link]:

    Use o comando “ExpReg” do menu STAT e depois CALC para obter o modelo exponencial,

    Convertendo da notação científica, temos:

    Use o modelo para estimar o risco associado a um BAC de 0,16. 0,16. Substitua 0,16 0,16 por x x no modelo e resolva por y. y.

    Se uma pessoa de 160 libras dirige depois de tomar 6 drinques, ela tem 26,35 vezes mais probabilidade de sofrer um acidente do que se estivesse dirigindo sóbrio.

    [link] mostra o saldo do cartão de crédito de um recém-formado a cada mês após a formatura.

    1. Use a regressão exponencial para ajustar um modelo a esses dados.
    2. Se os gastos continuarem nesse ritmo, qual será a dívida do cartão de crédito do graduado um ano após a formatura?

    É razoável supor que um modelo de regressão exponencial representará uma situação indefinidamente?

    Não. Lembre-se de que os modelos são formados por dados do mundo real coletados para regressão. Normalmente, é razoável fazer estimativas dentro do intervalo de observação original (interpolação). No entanto, quando um modelo é usado para fazer previsões, é importante usar habilidades de raciocínio para determinar se o modelo faz sentido para entradas muito além do intervalo de observação original (extrapolação).


    Argumentos

    Um objeto de incidência, gerado pela função Incidência (). Para a função de plotagem, um objeto Incidência_Fit.

    Um ponto de tempo opcional que identifica a separação entre os dois modelos. Se NULL, um único modelo é instalado. Se fornecidos, dois modelos seriam instalados nos períodos de tempo em cada lado da divisão.

    O intervalo de confiança a ser usado para padrões de predições é 95%.

    Uma indicação lógica se os avisos de ajuste devem ser ocultados FALSE por padrão. Os avisos normalmente indicam alguma incidência zero, que é removida antes de executar a regressão log-linear.

    O tamanho, em dias, da janela de tempo de cada lado da divisão.

    Uma indicação lógica se um gráfico deve ser adicionado à saída (TRUE, padrão), mostrando o R2 médio para várias divisões.

    Se houver grupos, as datas de divisão devem ser determinadas para cada grupo? O padrão é TRUE, no qual datas de divisão separadas e, portanto, modelos separados serão construídos para cada grupo. Quando FALSE, a data de divisão será determinada a partir dos dados combinados e modelada com os grupos como efeitos principais e interações com a data.


    Interface do aplicativo¶

    A API PyFlux foi projetada para ser o mais clara e concisa possível, o que significa que leva um número mínimo de etapas para conduzir o processo de construção do modelo. O esboço de alto nível é detalhado abaixo.

    O primeiro passo é criar uma instância de modelo, onde os principais argumentos são (i) uma entrada de dados, como um dataframe pandas, (ii) parâmetros de design, como atrasos autorregressivos para um modelo ARIMA, e (iii) uma família, que especifica a distribuição da série temporal modelada , como uma distribuição normal.

    A segunda etapa é formação anterior, que envolve a especificação de uma família para cada variável latente no modelo usando o método fit_prior, por exemplo, podemos a priori para a constante no modelo ARIMA (N left (0,10 right) ). As variáveis ​​latentes podem ser visualizadas imprimindo o objeto latent_variables anexado ao modelo. A formação anterior deve ser ignorada se o usuário pretende apenas fazer a Máxima Verossimilhança.

    A terceira etapa é ajuste do modelo (ou inferência), que envolve o uso de um método de ajuste, especificando uma opção de inferência. As opções atuais incluem Máxima Verossimilhança (MLE), Metropolis-Hastings (M-H) e inferência variacional de caixa preta (BBVI). Depois de concluído, as informações da variável latente do modelo serão atualizadas e o usuário poderá prosseguir para os métodos de pós-ajuste.

    A quarta etapa é avaliação de modelo, retrospecção e predição. Uma vez que o modelo tenha sido ajustado, o usuário pode olhar o ajuste histórico, criticar com verificações preditivas posteriores, prever fora da amostra e realizar uma série de outras tarefas para seu modelo.


    Ajuste exponencial do total de casos COVID-19 na Califórnia

    Os dados relacionados à pandemia COVID-19 foram obtidos no site oficial dos “Centros de Controle e Prevenção de Doenças” (https://data.cdc.gov/Case-Surveillance/United-States-COVID-19-Cases- and-Deaths-by-State-o / 9mfq-cb36) e baixado como um arquivo .csv. A primeira coisa a fazer é importar os dados para um dataframe do Pandas. Para fazer isso, as funções do Pandas pandas.read_csv () e pandas.Dataframe () Estava empregado. O dataframe criado é composto por 15 colunas, entre as quais podemos encontrar a submit_date, o estado, o total de casos, os casos confirmados e outros observáveis ​​relacionados. Para obter uma visão da ordem em que essas categorias são exibidas, imprimimos o cabeçalho do dataframe, como pode ser observado, o total de casos é listado sob a voz “tot_cases”.

    Como neste artigo estamos interessados ​​apenas nos dados relacionados à Califórnia, criamos um subframe que contém apenas as informações relacionadas ao estado da Califórnia. Para fazer isso, exploramos o potencial do Pandas na indexação de subseções de um dataframe. Este dataframe será denominado df_CA (da Califórnia) e contém todos os elementos do dataframe principal para os quais a coluna “estado” é igual a “CA”. Após esta etapa, podemos construir dois arrays, um (chamado tot_cases) que contém o total de casos (o nome da respectiva coluna de cabeçalho é “tot_cases”) e um que contém o número de dias passados ​​pela primeira gravação (chamado dias) Uma vez que os dados foram registrados diariamente, a fim de construir a matriz de "dias", simplesmente construímos uma matriz de números inteiros igualmente espaçados de 0 ao comprimento da matriz "tot_cases", desta forma, cada número se refere ao n ° de dias se passaram desde a primeira gravação (dia 0).

    Neste ponto, podemos definir a função que será usada por curve_fit () para ajustar o conjunto de dados criado. Uma função exponencial é definida pela equação:

    y = a * exp (b * x) + c

    Onde a, b e c são os parâmetros de ajuste. Vamos, portanto, definir a função exp_fit () que retorna a função exponencial, y, previamente definido. A função curve_fit () toma como entrada necessária a função de ajuste com a qual queremos ajustar os dados, as matrizes xey nas quais estão armazenados os valores dos pontos de dados. Também é possível fornecer estimativas iniciais para cada um dos parâmetros de ajuste, inserindo-os em uma lista chamada p0 = [...] e limites superior e inferior para esses parâmetros (para uma descrição abrangente da função curve_fit (), consulte https : //docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html). Neste exemplo, forneceremos apenas estimativas iniciais para nossos parâmetros de ajuste. Além disso, ajustaremos apenas o total de casos dos primeiros 200 dias, pois, para os dias sucessivos, o número de casos não seguiu mais uma tendência exponencial (possivelmente devido a uma diminuição no número de novos casos). Para se referir apenas aos primeiros 200 valores das matrizes "dias" e "tot_cases", exploramos a divisão da matriz (por exemplo, dias [: 200]).

    A saída de curve_fit () são os parâmetros de ajuste, apresentados na mesma ordem que foi usada durante sua definição, dentro da função de ajuste. Tendo isso em mente, podemos construir o array que contém os resultados ajustados, chamando-o de “fit_eq”.

    Agora que construímos a matriz de ajuste, podemos plotar os pontos de dados originais e seu ajuste exponencial.

    O resultado final será um gráfico como o da Figura 1:

    figura 1


    4.7 Escrever e aplicar exponencial - apresentação PPT em PowerPoint

    PowerShow.com é um site líder de compartilhamento de apresentações / slides. Quer seu aplicativo seja comercial, como fazer, educação, medicina, escola, igreja, vendas, marketing, treinamento online ou apenas para diversão, o PowerShow.com é um ótimo recurso. E, o melhor de tudo, muitos de seus recursos interessantes são gratuitos e fáceis de usar.

    Você pode usar o PowerShow.com para localizar e baixar exemplos de apresentações de PowerPoint online sobre praticamente qualquer tópico que você possa imaginar, para que possa aprender como melhorar seus próprios slides e apresentações gratuitamente. Ou use-o para encontrar e baixar apresentações de PowerPoint ppt de instruções de alta qualidade com slides ilustrados ou animados que irão ensiná-lo a fazer algo novo, também gratuitamente. Ou use-o para carregar seus próprios slides do PowerPoint para que você possa compartilhá-los com seus professores, turmas, alunos, chefes, funcionários, clientes, investidores em potencial ou o mundo. Ou use-o para criar apresentações de slides de fotos muito legais - com transições 2D e 3D, animação e sua escolha de música - que você pode compartilhar com seus amigos do Facebook ou círculos do Google+. Isso tudo é grátis também!

    Por uma pequena taxa, você pode obter a melhor privacidade online do setor ou promover publicamente suas apresentações e apresentações de slides com as melhores classificações. Mas, fora isso, é grátis. Nós até converteremos suas apresentações e apresentações de slides no formato Flash universal com toda sua glória multimídia original, incluindo animação, efeitos de transição 2D e 3D, música ou outro áudio embutido, ou até mesmo vídeo embutido em slides. Tudo de graça. A maioria das apresentações e slideshows no PowerShow.com é gratuita para visualização, muitos até são gratuitos para download. (Você pode escolher se deseja permitir que as pessoas baixem suas apresentações originais do PowerPoint e slideshows de fotos mediante o pagamento de uma taxa ou de graça ou não.) Visite PowerShow.com hoje - GRATUITAMENTE. Existe realmente algo para todos!

    apresentações gratuitas. Ou use-o para encontrar e baixar apresentações de PowerPoint ppt de instruções de alta qualidade com slides ilustrados ou animados que irão ensiná-lo a fazer algo novo, também gratuitamente. Ou use-o para carregar seus próprios slides do PowerPoint para que você possa compartilhá-los com seus professores, turmas, alunos, chefes, funcionários, clientes, investidores em potencial ou o mundo. Ou use-o para criar apresentações de slides de fotos muito legais - com transições 2D e 3D, animação e sua escolha de música - que você pode compartilhar com seus amigos do Facebook ou círculos do Google+. Isso tudo é grátis também!


    Responder

    Não há opções para a entrada do usuário de valores de parâmetro de suavização exponencial nos diálogos & quotTime Series Modeler & quot ou na sintaxe TSMODEL. Você pode especificar esses parâmetros executando o comando EXSMOOTH em uma janela de sintaxe. Os parâmetros disponíveis são ALPHA (parâmetro de suavização geral ou constante de suavização), GAMMA (parâmetro de suavização de tendência), DELTA (parâmetro de suavização sazonal) e PHI (parâmetro de modificação de tendência).

    O comando EXSMOOTH fazia parte do módulo Trends em versões anteriores do SPSS. Os procedimentos do módulo Trends, incluindo EXSMOOTH, bem como ARIMA, AREG (regressão com erros autocorrelacionados) e outros, estão disponíveis apenas por meio de comandos de sintaxe em versões recentes do SPSS Statistics. O novo módulo de previsão foi introduzido no SPSS 14 e os diálogos de tendências foram removidos no SPSS 16. Os comandos de sintaxe de tendências estão agora disponíveis como parte do núcleo de estatísticas, para que você tenha acesso aos comandos se tiver estatísticas do SPSS (embora o aluno versão do SPSS não inclui processamento de comando de sintaxe). Se quiser inserir os parâmetros de suavização para suavização exponencial, você precisará executar o comando de sintaxe EXSMOOTH. Aqui está um exemplo das páginas de ajuda de sintaxe para EXSMOOTH:

    EXSMOOTH VAR2
    / MODEL = LA
    / PERÍODO = 4
    / SEASFACT = (23 -14,4 7 -15,6)
    /ALPHA=0.20
    /GAMMA=0.20
    /DELTA=0.30
    / INICIAL = (112,17).

    Este comando especifica um componente de tendência linear com um componente sazonal aditivo (/ MODEL = LA).

    Para ver a ajuda de sintaxe para o comando EXSMOOTH, digite EXSMOOTH (não é necessário usar maiúsculas) em uma janela do SPSS Statistics Syntax Editor e clique no ícone Syntax Help na barra de ferramentas da janela de sintaxe. Este ícone se parece com uma folha de papel com um ponto de interrogação no canto esquerdo inferior. Os comandos do Trends não aparecem no Guia de referência de sintaxe que é aberto clicando em
    Ajuda- & Referência da sintaxe do comando gt.


    Uso

    um vetor de valores de escala linear não exponencial que representam o tempo.

    a primeira constante de taxa, expressa em recíproco das unidades de tempo do eixo X. A primeira meia-vida é de 0,6932 / k1.

    a segunda constante de taxa, expressa em recíproco das unidades de tempo do eixo X. A segunda meia-vida é de 0,6932 / k2.

    um único valor para o intervalo de y na primeira fase de decaimento, em unidades de y.

    um único valor para o intervalo de y na segunda fase de decaimento, em unidades y ..

    o menor valor y esperado, ou o valor infinito vezes, expresso nas mesmas unidades de Y.


    Uso básico

    Conjunto de dados

    Usar epifitter dados, pelo menos duas variáveis ​​são necessárias, uma representando o tempo de cada avaliação da intensidade da doença durante o curso da epidemia e a outra representando uma variável de intensidade da doença como proporção (por exemplo, incidência, gravidade, prevalência). Para o caso de experimentos planejados com réplicas, uma terceira variável é necessária.

    Vamos simular um conjunto de dados DPC para uma epidemia medida em parcelas replicadas. Os dados simulados se assemelham a uma epidemia policíclica de formato sigmóide. Podemos fazer isso usando o epifitter função sim_logistic () do epifitter (mais sobre? sim_logistic aqui).

    Vamos dar uma olhada no conjunto de dados simulado.

    O objeto dpc_L gerado usando sim_logistic () é um dataframe com quatro colunas. A variável y é um vetor para a intensidade da doença como proporção (0 & lt y & lt 1). Para facilitar a visualização, vamos fazer um gráfico usando a função ggplot do ggplot2 pacote.

    Regressão linear usando fit_lin ()

    O fit_lin () requer pelo menos os argumentos time e y. No exemplo, chamaremos random_y que representa as réplicas. Uma maneira rápida de chamar essas variáveis ​​anexadas ao dataframe é mostrada abaixo.

    fit_lin () produz um objeto de lista que contém vários elementos. Três elementos da lista são mostrados por padrão: estatísticas de ajuste do modelo, taxa de infecção e inóculo inicial

    Estatísticas de ajuste do modelo

    O elemento Stats da lista mostra como cada um dos quatro modelos previu as observações com base em três medidas:

    • Coeficiente de correlação de concordância de Lin CCC (Lin 2000), uma medida de concordância que leva em conta o viés e a precisão
    • Coeficiente de determinação r_squared (R 2), uma medida de precisão
    • RSE de desvio padrão residual para cada modelo.

    Os quatro modelos são classificados do alto ao baixo CCC. Como esperado, porque a função sim_logistic foi usada para criar os dados sintéticos da epidemia, o Logística modelo era superior aos outros.

    Coeficientes do modelo

    As estimativas, e respectivo erro padrão e intervalo de confiança superior e inferior de 95%, para os dois coeficientes de interesse são apresentados nos elementos Taxa de infecção e Inóculo inicial. Para o último, tanto a retro-transformada (estimativa) quanto a estimativa linearizada são mostradas.

    Estatísticas globais

    O elemento f_lin $ stats_all fornece um dataframe de formato amplo com todas as estatísticas de cada modelo.

    Predições de modelo

    Os valores previstos são armazenados como um quadro de dados no elemento de dados chamado usando o mesmo operador $ acima. As predições observadas e (y) e transformadas de volta (previstas) são mostradas para cada modelo. O valor linearizado e o residual também são mostrados.

    Trama de previsões

    O plot_fit () produz, por padrão, um painel de gráficos representando os valores observados e preditos por todos os modelos ajustados. Os argumentos pont_size e line_size que controlam o tamanho dos pontos para a observação e o tamanho da linha ajustada, respectivamente.

    Parcelas prontas para publicação

    Os enredos são ggplot2 objetos que podem ser facilmente personalizados pela adição de novas camadas que substituem os parâmetros de plotagem, conforme mostrado abaixo. O argumento modelos permite selecionar o (s) modelo (s) a serem mostrados no gráfico. O próximo gráfico foi customizado para o modelo logístico.

    Regressão não linear

    Dois parâmetros

    A função fit_nlin () usa o algoritmo Levenberg-Marquardt para estimativa de mínimos quadrados de parâmetros não lineares. Além do tempo e da intensidade da doença, os valores iniciais para y0 e r devem ser fornecidos no argumento start_par. O formato de saída e a interpretação são análogos ao fit_lin ().

    NOTA: Se você encontrar mensagens de erro dizendo “matriz nas estimativas dos parâmetros iniciais”, tente modificar os valores iniciais dos parâmetros para resolver o problema.

    Podemos verificar os resultados usando plot_fit.

    Estimando K (doença máxima)

    Em muitas epidemias, a última medida (tempo final) de uma DPC não atinge a intensidade máxima e, por esse motivo, a estimativa da assíntota máxima (capacidade de suporte K) pode ser necessária. O fin_lin2 () fornece uma estimativa de K além das estimativas fornecidas por fit_lin ().

    Antes de demonstrar a função, podemos transformar nossos dados simulados criando outra variável com y_random2 com no máximo cerca de 0,8 (80%). A maneira mais simples é multiplicar o y_random por 0,8.

    Em seguida, executamos o fit_nlin2 () para o novo conjunto de dados.

    Ajustar modelos a vários DPCs

    Mais comumente, há mais de uma epidemia para analisar a partir de estudos observacionais ou experimentais. Quando o objetivo é ajustar um modelo comum a todas as curvas, a função fit_multi () está em mãos. Cada DPC precisa de uma identificação única para combiná-la posteriormente em um único quadro de dados.

    Vamos usar a família de funções sim_ para criar três epidemias e armazenar os dados em um único data.frame. O modelo de Gompertz foi usado para simular esses dados. Observe que permitimos que os parâmetros y0 e r difiram os DPCs. Devemos combinar os três DPCs usando a função bind_rows () e nomear o identificador (.id), criado automaticamente como um vetor de caracteres, para cada epidemia como ‘DPC’.

    Podemos visualizar os três DPCs em um mesmo gráfico

    Ou use facet_wrap () para representá-los separadamente.

    Usando fit_multi ()

    fit_multi () requer pelo menos quatro argumentos: tempo, intensidade da doença (como proporção), dados e o identificador da curva (strata_cols). O último argumento aceita um ou mais estratos incluídos como c (& quotstrata1 & quot, strata2 & quot). No exemplo abaixo, o nome do estrato é DPC, o nome da variável.

    Por padrão, a regressão linear é ajustada aos dados, mas adicionando outro argumento nlin = T, as regressões não lineares são ajustadas.

    Todos os parâmetros da lista podem ser retornados usando o operador $ conforme abaixo.

    Da mesma forma, todos os dados podem ser retornados.

    Se a regressão não linear for preferida, o argumento nlim deve ser definido como TRUE

    Quer estimar K?

    Se você deseja estimar K, defina nlin = TRUE e estimativa_K = TRUE.

    NOTA: Se você não definir ambos os argumentos como TRUE, K não será estimado, porque nlin default é FALSE. Lembre-se também de que, ao estimar K, não nos ajustamos ao Exponencial modelo.

    Saídas gráficas

    Use ggplot2 para produzir visualizações de dados elegantes de curvas de modelos e os parâmetros estimados.

    DPCs e curvas ajustadas

    Os dados originais e os valores previstos por cada modelo são armazenados em multi_fit $ Data. Um bom enredo pode ser produzido da seguinte forma:

    Taxa de infecção aparente

    O elemento multi_fit $ Parameters é onde todas as estatísticas e parâmetros são armazenados. Vamos representar graficamente as estimativas da taxa de infecção aparente.


    Previsão: Princípios e Prática (3ª ed)

    Embora a relação linear assumida até agora neste capítulo seja freqüentemente adequada, há muitos casos em que uma forma funcional não linear é mais adequada. Para manter as coisas simples nesta seção, assumimos que temos apenas um preditor (x ).

    A maneira mais simples de modelar uma relação não linear é transformar a variável de previsão (y ) e / ou a variável preditora (x ) antes de estimar um modelo de regressão. Embora isso forneça uma forma funcional não linear, o modelo ainda é linear nos parâmetros. A transformação mais comumente usada é o logaritmo (natural) (consulte a Seção 3.1).

    UMA log-log a forma funcional é especificada como [ log y = beta_0 + beta_1 log x + varepsilon. ] Neste modelo, a inclinação ( beta_1 ) pode ser interpretada como uma elasticidade: ( beta_1 ) é a variação percentual média em (y ) resultante de um aumento de 1% em (x ) . Outras formas úteis também podem ser especificadas. O log-linear formulário é especificado apenas transformando a variável de previsão e o log-linear forma é obtida transformando o preditor.

    Lembre-se de que, para realizar uma transformação logarítmica em uma variável, todos os seus valores observados devem ser maiores que zero. No caso dessa variável (x ) conter zeros, usamos a transformação ( log (x + 1) ) ou seja, adicionamos um ao valor da variável e, em seguida, obtemos logaritmos. Isso tem um efeito semelhante a obter logaritmos, mas evita o problema dos zeros. Ele também tem o efeito colateral puro de zeros na escala original, zeros restantes na escala transformada.

    Há casos em que simplesmente transformar os dados não será adequado e uma especificação mais geral pode ser necessária. Então, o modelo que usamos é [y = f (x) + varejpsilon ], onde (f ) é uma função não linear. Na regressão padrão (linear), (f (x) = beta_ <0> + beta_ <1> x ). Na especificação de regressão não linear que se segue, permitimos que (f ) seja uma função não linear mais flexível de (x ), em comparação com simplesmente uma transformação logarítmica ou outra.

    Uma das especificações mais simples é fazer (f ) linear por partes. Ou seja, introduzimos pontos onde a inclinação de (f ) pode mudar. Esses pontos são chamados nós. Isso pode ser alcançado deixando (x_ <1, t> = x ) e introduzindo a variável (x_ <2, t> ) de modo que [ begin x_ <2, t> = (x-c) _ + & amp = left < begin 0 & amp text x & lt c x-c & amp text x ge c endcerto. fim] A notação ((x-c) _ + ) significa o valor (x-c ) se for positivo e 0 caso contrário. Isso força a inclinação a dobrar no ponto (c ). Dobras adicionais podem ser incluídas no relacionamento adicionando outras variáveis ​​do formulário acima.

    Relacionamentos lineares por partes construídos desta forma são um caso especial de splines de regressão. Em geral, uma spline de regressão linear é obtida usando [x_ <1> = x quad x_ <2> = (x-c_ <1>) _ + quad dots quad x_ = (x-c_) _ + ] onde (c_ <1>, dots, c_) são os nós (os pontos em que a linha pode dobrar). Selecionar o número de nós ( (k-1 )) e onde eles devem ser posicionados pode ser difícil e um tanto arbitrário. Some automatic knot selection algorithms are available, but are not widely used.

    Forecasting with a nonlinear trend

    In Section 7.4 fitting a linear trend to a time series by setting (x=t) was introduced. The simplest way of fitting a nonlinear trend is using quadratic or higher order trends obtained by specifying [ x_ <1,t>=t,quad x_<2,t>=t^2,quad dots. ] However, it is not recommended that quadratic or higher order trends be used in forecasting. When they are extrapolated, the resulting forecasts are often unrealistic.

    A better approach is to use the piecewise specification introduced above and fit a piecewise linear trend which bends at some point in time. We can think of this as a nonlinear trend constructed of linear pieces. If the trend bends at time ( au) , then it can be specified by simply replacing (x=t) and (c= au) above such that we include the predictors, [egin x_ <1,t>& = t x_ <2,t>&= (t- au)_+ = left< egin 0 & ext t < au t- au & ext t ge au end ight. fim] in the model. If the associated coefficients of (x_<1,t>) and (x_<2,t>) are (eta_1) and (eta_2) , then (eta_1) gives the slope of the trend before time ( au) , while the slope of the line after time ( au) is given by (eta_1+eta_2) . Additional bends can be included in the relationship by adding further variables of the form ((t- au)_+) where ( au) is the “knot” or point in time at which the line should bend.

    Example: Boston marathon winning times

    We will fit some trend models to the Boston marathon winning times for men. First we extract the men’s data and convert the winning times to a numerical value. The course was lengthened (from 24.5 miles to 26.2 miles) in 1924, which led to a jump in the winning times, so we only consider data from that date onwards.

    The top panel of Figure 7.20 shows the winning times since 1924. The time series shows a general downward trend as the winning times have been improving over the years. The bottom panel shows the residuals from fitting a linear trend to the data. The plot shows an obvious nonlinear pattern which has not been captured by the linear trend.

    Figure 7.20: Fitting a linear trend to the Boston marathon winning times is inadequate

    Fitting an exponential trend (equivalent to a log-linear regression) to the data can be achieved by transforming the (y) variable so that the model to be fitted is, [ log y_t=eta_0+eta_1 t +varepsilon_t. ] The fitted exponential trend and forecasts are shown in Figure 7.21. Although the exponential trend does not seem to fit the data much better than the linear trend, it perhaps gives a more sensible projection in that the winning times will decrease in the future but at a decaying rate rather than a fixed linear rate.

    The plot of winning times reveals three different periods. There is a lot of volatility in the winning times up to about 1950, with the winning times barely declining. After 1950 there is a clear decrease in times, followed by a flattening out after the 1980s, with the suggestion of an upturn towards the end of the sample. To account for these changes, we specify the years 1950 and 1980 as knots. We should warn here that subjective identification of knots can lead to over-fitting, which can be detrimental to the forecast performance of a model, and should be performed with caution.

    Figure 7.21: Projecting forecasts from linear, exponential and piecewise linear trends for the Boston marathon winning times.

    Figure 7.21 shows the fitted lines and forecasts from linear, exponential and piecewise linear trends. The best forecasts appear to come from the piecewise linear trend.


    Assista o vídeo: Przedrostki jednostek, notacja wykładnicza, Fizyka kurs matura, 4, Projekt Fizyka (Outubro 2021).