Qualidade do ajuste para o modelo não linear


8

Ajustamos uma função não linear aos dados observados. O próximo passo deve ser a avaliação da qualidade do ajuste dessa função (como para modelos lineares).R2

Quais são as formas usuais de medir isso?

Editar 1:

O encaixe foi realizado da seguinte maneira:

  1. Executar uma regressão linear com variáveis independentes A e B .
  2. Calcule os parâmetros da distribuição a partir dos parâmetros de regressão. (A distribuição é não linear e tem a variável C como entrada.)
  3. Avalie a qualidade do ajuste da distribuição não linear comparando os dados estimados com os observados.

Edição 2:

Exemplos para as etapas mencionadas acima:

  1. Modelo de regressão:euog(y)=β0 0+β1euog(uma)+β2euog(b)
  2. ρ=-β0 0β1 e para a seguinte distribuição não linear:θ=β2f(uma)=ρuma-θ
  3. Avalie a qualidade do ajuste de com um determinado conjunto de observações .f(uma)(uma,f(uma))

5
"Qualidade do ajuste" depende de como o ajuste foi realizado. Por exemplo, a medida GoF apropriada para um estimador de probabilidade máxima deve diferir da medida GoF para um estimador de mínimos quadrados quando o componente aleatório não é uma variável normal aditiva. Se você tiver um problema específico em mente, poderá indicar como executou o ajuste.
whuber

2
Você pode estar interessado em: Magee, L. (1990). medidas baseadas nos testes de significância conjunta de Wald e de razão de verossimilhança. The American Statistician , 44 (3): 250–253, e Pesaran, MH e Smith, RJ (1994). Um critério generalizado para modelos de regressão estimado pelo método de variáveis ​​instrumentais. Econometrica , 62 (3): 705-710. R2R2
Alexis #

1
@whuber Adicionei a descrição das etapas executadas nas perguntas acima.
Marco

@ Alexis Obrigado pelas referências, vou dar uma olhada nelas.
Marco

1
@whuber Seria uma maneira viável de calcular a correlação entre e as observações dadas para avaliar a qualidade do ajuste? f(uma)
Marco

Respostas:


2

Talvez exista mais, mas para mim parece que você deseja apenas determinar a qualidade do ajuste (GoF) para uma função f (a), ajustada a um conjunto de dados específico (a, f (a)). Portanto, o seguinte responde apenas à sua terceira subquestão (não acho que a primeira e a segunda sejam diretamente relevantes para a terceira).

Normalmente, o GoF pode ser determinado parametricamente (se você conhece os parâmetros de função da distribuição) ou não parametricamente (se você não os conhece). Embora você possa descobrir parâmetros para a função, como ela parece exponencial ou gama / Weibull (assumindo que os dados sejam contínuos). No entanto, prosseguirei, como se você não conhecesse os parâmetros. Nesse caso, é um processo de duas etapas . Primeiro, você precisa determinar os parâmetros de distribuição para o seu conjunto de dados. Segundo, você executa um teste GoF para a distribuição definida. Para evitar me repetir, neste momento, encaminhá-lo-ei à minha resposta anteriora uma pergunta relacionada, que contém alguns detalhes úteis. Obviamente, essa resposta pode ser facilmente aplicada a distribuições, além da mencionada dentro.

Além dos testes GoF, mencionados aqui, você pode considerar outro teste - teste GoF qui-quadrado . Ao contrário de KS e AD testes, que são aplicáveis apenas ao distribuições contínuas, teste de qui-quadrado GoF é aplicável a ambos os discretas e contínuas queridos. O teste Qui-quadrado GoF pode ser executado no R usando um dos vários pacotes: statspacote interno (função chisq.test()) e vcdpacote (função goodfit()- somente para dados discretos). Mais detalhes estão disponíveis neste documento .


1
O link para "minha resposta anterior" não funciona mais, pois a pergunta provavelmente foi removida.
Amonet 17/03

1
@Amonet Obrigado por me avisar. Consegui acessar as perguntas e respostas excluídas e as recuperei como um Gist público. Por favor, consulte gist.github.com/ablekh/… . Espero que isto ajude.
Aleksandr Blekh 17/03

0

Bem, no Machine Learning, a coisa chamada Validação Cruzada é realizada com bastante frequência para fins de teste de modelo (teste se esse tipo de modelo com esses hiperparâmetros - como número de graus de liberdade ou o que seja - se ajusta ao seu problema) - você divide seu dados várias vezes nos conjuntos de dados de treinamento e teste, execute a otimização sobre o conjunto de treinamento e calcule qualquer qualidade dos dados de teste. A maneira mais confidencial é executar a chamada "validação cruzada QxT-fold". O pseudocódigo pode ser como:

cv_values = []
for t in range(T):
    split = randomsplit(data, number_of_parst = Q)
    for test_id in range(Q):
        model.fit(split[:test_id] + split[test_id + 1:] # test on everything excepting test_id
        cv_values.append(model.test(split[test_id]))

cv_values.mean() # whatever

Obrigado pela sua resposta. Então, como é a função do model.test (...) ?
Marco
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.