You are on page 1of 35

Estágio II

Teoria e Aplicação Básica Sobre Regressão
Logı́stica para Modelagem de Risco

Modelagem de Risco de Crédito

Professor responsável:
Adriano Kamimura Suzuki

Aluno:
Sérgio O. Carvalho 6427466

SÃO CARLOS - SP
11 de novembro de 2014

1 Modelagem Credit Scoring
A modelagem de Credit Scoring tem por objetivo final gerar um ranking de
probabilidades referente à clientes que pleiteiam ser contemplados por uma
polı́tica de concessão de crédito de determinada instituição, de modo que ba-
seado neste ranking a empresa poderá decidir qual ou quais clientes serão con-
templados. Cada probabilidade deste ranking é o produto de uma modelagem
estatı́stica, matemática, computacional das informações cadastrais que cada cli-
ente possui junto a instituição, pode-se dizer que esta probabilidade é o resumo
socio-econômico das caracterı́sticas dos clientes. Esta estratégia de concessão
de crédito baseada em modelagem estatı́stica tem contribuı́do fortemente para
que instituições financeiras alcancem maior rentabilidade,e desta forma, a busca
por modelos capazes de proporcionar menor risco e maior lucro às instituições
financieras, é constante.

2 Etapas de Desenvolvimento do Modelo
A estrutura básica de desenvolvimento de modelos de Credit Scoring está re-
presentadada na Figura 1.

Figura 1: Estrutura de Desenvolvimento de Modelos Credit Score

2.1 Planejamento Amostral
O processo de amostragem para modelos de Credit Scoring possui uma estrutura
temporal de até 24 meses divididos em passado, presente e futuro onde cada
perı́odo desenvolve uma particularidade neste processo. Seja na escolha das
variáveis explicativas, nas informações geradas pelos sistemas das empresas e
na predição como resultado final do processo. Consideramos também que a
relação dos dados cadastrais dos clientes com o desempenho dos créditos seja
semelhante no passado e no futuro. A Figura 1 nos mostra um resuno deste
processo.

1

Figura 2: Estrutura de Amostragem Temporal de Modelos Credit Score

i) Dados desbalanceados: Quando há um desbalanceamento da ordem de
20 bons para 1 mau geralmente há uma dificuldade em detectar através
da modelagem a diferença de perfis, entre bons e maus pagadores, sendo
necessário aumenta a proporção evento menos frequente e estratificar a
amostra de forma aleatória em proporções de cada categoria, amostragem
do tipo Oversampling ou State Dependent.
ii) A sazonalidade: A seleção da amostra envolvendo momentos especı́ficos
no tempo em que o comportamento do evento é atı́pico, pode afetar e
comprometer diretamente o desempenho do modelo.
iii) Variabilidade do evento de interesse: Fatores externos, como a conjun-
tura econômica, que fazem com que a seleção da amostra envolva cenários
de não-representatividade da mesma com relação ao evento e assim uma
maior instabilidade do modelo.
iv) Amostragem por safras: No contexto de Credit Scoring a escolha de 12
safras ao longo de um ano minimiza consideravelmente a instabilidade do
modelo provocada pelos fatores descritos em i,ii e iii.

3 Estratégia Estatı́stica de Modelagem
Adotaremos como estratégia para a modelagem Credit Scoring, o método de
Regressão logı́stica, que consiste em modelar o parâmetro de proporção π da
variável de interesse da distribuição de Bernoulli com a função de ligação Logito,
obtida através da famı́lia de exponencial.

3.1 Famı́lia Exponencial
Diz-se que uma variável aleatória Y tem distribuição pertencente à famı̀lia ex-
ponencial se a sua função densidade de probabilidade (f.d.p.) puder ser escrita
na forma:

f (Y |θ) = h(y) exp{η(θ)t(y) − b(θ)}

Seja Y ∼ B(1, π) cuja forma na famı́lia exponêncial é dada por:

2

b0 (θ) =  =π 1 + eη(θ) 4 Regressão Logı́stica Múltipla No modelo de regressão logı́stico a variável resposta Y é binária assumindo os valores 1 ou zero. Em nosso contexto o ”sucesso”ou evento de interesse será relacionado aos clientes inadimplentes. a função que descreve essa relação é dada por: 1−yi P [Yi = yi |x1 . função de ligação logito (1) 1−π eη(θ) b (θ) = log 1 + eη(θ) .+βk xk ) 3 . .1 Modelo Estatı́stico Desejamos modelar o resultado da variàvel aleatória Yi com base num conjunto de k caracterı́sticas de cada cliente. xk ] = πiyi (1 − πi ) (2) Seja a relação lienar multipla dada por Y = X 0 β +  com  ∼ N (0.. Y = 0 .. . cujo topo deste ranking descreve o cliente com maior chances de inadimplência.. de modo a determinar um ranking de propabilidades de maus pagadores dada por π(x).  y π f (Y |π) = π y (1 − π)1−y = (1 − π) 1−π     π = exp y log + log (1 − π) 1−π Sabemos que E (Y ) = b0 (θ)   π η (θ) = log .. temos então que:   π η(θ) = log = X 0 β = β0 + β1 x1 +. temos que: id Y ∼ Bernoulli(π) De modo que: P (Y = 1) = π e P (Y = 0) = 1 − π 4. ou seja. . descritas pelo vetor X = (x1 . onde β é um vetor de parâmetros cuja relação com preditor linear é dada por: η(θ) = X 0 β Como E(Y ) = π. σ 2 I) . xk )0 .. . . x2 . denominados por ”sucesso”e ”fracasso”respectimavente. Y = 1 e desta forma o ”fracasso ”será relacionado aos clientes adimplentes cujo valor da variável resposta Y é igual zero. . +βk xk 1−π Então as probabilidades relaionadas aos clientes maus pagadores são obtidas por: e(β0 +β1 x1 +.. .+βk xk ) π= 1 + e(β0 +β1 x1 +. aqueles clientes cujo valor da variável resposta Y é igual a um. . .. x2 .

podemos escrever que: n n β) X ∂l(β X exij βj = yi − ∂β0 i=1 i=1 1 + exij βj .. .. + βk xik ) + log 1 − i=1 i=1 1 + e(β0 +β1 xi1 +. + βk xik ) − log 1 + e(β0 +β1 xi1 +. sendo que os β̂j 0 s são obtidos pelas derivadas parciais do logaritmo da função de máxima verossimilhança.. . .. da seguinte forma: n Y 1−yi L[β|Y. . . j = 1. k vetor de parâmetros β. k . . ..+βk xik ) i=1 i=1 0 como e(β0 +β1 x1 .+βk xik ) n X n X   = yi (β0 + β1 xi1 + .βk xk ) = eX βj com j = 0. n n β) X ∂l(β X exij βj = yi xik − xik ∂βk i=1 i=1 1 + exij βj igualando a zero . .. . .. .. + βk xik ) + log i=1 i=1 1 + e(β0 +β1 xi1 +.+βk xik ) X X   = yi (β0 + β1 xi1 + . .. . . .5 Estimação dos Parâmetros do Modelo O ajuste do modelo se dá através das estimativas dos βj . .+βk xik ) n n   X X 1 = yi (β0 + β1 xi1 + ... de modo que: β (0) ) + U 0 (β β ) ≈ U (β U (β β (0) )(β β − β (0) ) 4 . ... temos: n n X X exij β̂j yi − =0 i=1 i=1 1 + exij β̂j n n X X exij β̂j yi xij − xij =0 i=1 i=1 1 + exij β̂j A versão multivariada do método numérico iterativo de Newton-Raphson que é baseado na aproximação de Taylor expandindo-se a função U (β β ) na vizinhança do ponto inicial β (0) nos fornece a solução deste sistema de equações não lineares.. X] = πi (x)yi (1 − πi (x)) i=1 n   n X πi (x) X β) = l(β yi log + log (1 − πi (x)) i=1 1 − πi (x) i=1 n n e(β0 +β1 xi1 +.

(1+exij β̂j )2  (1+e ) (1+e )   = E  i=1  i=1 i=1 . e portanto não invertı́vel. .. .    .   .. . .   AIC = 2 · k − 2 · log L(β̂|Y. ∂β0 βk  2   ∂ l(ββ ) ∂ 2 l(ββ ) 2 β)   ∂β β0 ∂β 2 . ... 6. . maior também será a estimativa do erro e mais dependente o modelo será dos dados observados. . 1 1  . iremos utilizar o método de Todos os Modelos Possı́veis. .. X) 5 .   ∂ 2 l(β β) ∂ 2 l(β β) ∂ 2 l(β β) ∂βk β0 ∂βk β1 . Há enumeras técnicas para seleção de variáveis.. ou seja.1 Todos os modelos possı́veis As medidas AIC (Akaike’s information criterion) e BIC (Bayesian In- formation Criteric) são critérios para seleção de modelos dado um conjunto finito de modelos... os critérios de seleção de modelos baseiam-se no conceito do modelo mais parcimonioso. . Ambos baseiam-se no valor da função de verossimilhança do modelo ajustado e um valor K representando a quantidade de parâmetros envolvidas no ajuste do modelo de modo a penalizar os modelos com a maior quantidade de parâmetros. ela é substituı́da pela matriz de informação de Fisher. . Essas medidas são calculadas da seguinte forma. pois quanto maior o número de covariáveis no modelo .. β) ∂l(β ∂ 2 l(β β) β) = Onde U (β e U 0 (β β) = ∂ββ ∂β β2 Assim o processo iterativo é obtido repetindo a aproximação acima em m passos. . . xik  i=1 (1+exij β̂j )2 i=1 (1+exij β̂j )2 i=1 (1+exik β̂j )2   n x n n P  exij β̂j exij β̂j xij β̂j x2i2 xi1 xik e xik β̂j 2  P P i1 xij β̂j 2 . ... ..   n xij β̂j n n exij β̂j exij β̂j P  xik e xij β̂j 2 2 P P xik xi2 . os melhores modelos são aqueles cujos valores de AIC e BIC são menores. . ∂∂βl(β 1 βk   I(βb ) = −E  .. . sendo assim . . x ik i=1 (1+e ) i=1 (1+exij β̂j ) 2 i=1 (1+e xik β̂j 2 ) 6 Seleção de Variáveis De forma geral.. dada por:  2 β ∂ l(β ) ∂ 2 l(β ∂ 2 l(β β) β)  ∂β02 ∂β0 β1 . ∂βk2  P n n n  exij β̂j exij β̂j exij β̂j P P xi1 . β (m+1) = β (m) + [−U 0 (β β (m) )]−1 U 0 (β β (m) ) Como a matriz −U 0 (β β ) pode não ser positiva definida. o modelo com menor número de covariáveis capaz de explicar a variável resposta.

6 .16 633.500 614. faz-se necessário definirmos uma Regra de Predição baseada em um ponto de corte ”cut- off point”de modo a classificar os clientes como Ŷ = 1 maus pagadores ou Ŷ = 0 bons pagadores.>8 years 612.59 Balance of Current Account D1.<140 627.Other 617. iremos utiliza-los a fim de medir o quanto os grupos de maus e bons pagadores são diferentes.66 636.4 .125<x<=12.76 641. Tabela 1: Variáveis Selecionadas Variáveis Segmentação Df Deviance AIC Interpcepto 602.59 628.6.1 .1 Curva ROC e Cut-Off Point Como os valores das probabilidades de π̂ estão entre 0 e 1.<15 616.1 . 7 Métricas de Predição. Desempenho e Com- paração de Modelos Há métodos estatı́sticos que avaliam se há diferênças significativas entre duas populações dado uma métrica e um evento de interesse.76 Amount of Credit D5.28 651.49 Purpose of Credit D4.28 Employed by Current Employer D7.1 . Para determinar o ponto de corte recorremos a curva ROC (Receiver Operating Characteristic Curve).2 .No balance 677.4 . Pela Figura 3 podemos observar o ponto de corte (cut-off point) aém de outras medidas de desempenho geral de nosso modelo.> 25 610.46 701.2 . neste sentido.   BIC = k · log(n) − 2 · log L(β̂|Y.46 Balance of Current Account D1.69 634.1 .80 638.66 Installment in % of Available Income D8.58 629. Com o auxı́lio do R chegamos ao modelo de menor AIC.39 Most Valuable Assests D12.58 Type of Apartment D15.Problematic Running Accounts 627.60 651.71 Duration of Credit D2.no assets 605.80 Value of Savings D6. de modo que otimizando a relação entre os valores de sensibilidade P (Ŷ = 1|Y = 1) e 1-especificidade 1 − P (Ŷ = 0|Y = 0) obtemos o ponto de corte que é dado pelo ponto que mais se aproxima do canto superior esquerdo do gráfico.1 .60 Purpose of Credit D4.household Appliances 608.49 632.1 .4 .39 640.71 657.1 . 7. em que k é o número de parâmetros do modelo.owned 609.>$300 633. X) .16 Na Tabela 1 temos o conjunto de covariáveis selecionadas pelo critério de menor AIC.69 Payment of Previous Credits D3.

para isso. Figura 4: Matriz de Confusão: Critérios de Desempenho do Modelo onde n . classificados como Bons (acerto). Commo estamos trabalhando com um modelo de predição binária e como já sabemos determinar o cut-off tais critérios podem ser obtidos através da Matriz de Confusão dada pela Figura 5.2 Métricas de Desempenho O processo de construção de um modelo passa necessariamente por critérios cujos objetivos são validar a estrutura de modelagem. melhor será o desempenho do modelo. usa-se submeter às classificações obtidas à uma métrica capaz de medir o quão bom é o modelo. bB .Curva ROC Pela Curva ROC podemos interpretar o desempenho do modelo. 7. 7 . de modo que quanto maior área acima da diagonal principal.Quantidade total de clientes.Clientes Bons. Figura 3: Resultado da Classificação .

m .71% bB + bM b Prevalência (PVL): É a proporção entre o número de acertos mais o número de erros para o evento de interesse pelo total de obervações sem considerar os eventos.Total de bons clientes. mM mM V PP = = = 53. dado que ele é mau pagador. mM P (Ŷ = 1|Y = 1) = = 85. bM . mM bM mM + bM PV L = + = = 30% n n n 8 . classificados como maus (erro).Total de maus clientes.mM . mB . classificados como Maus (acerto).25% mB + mM m Valor Preditivo Negativo (VPN): É a proporção entre as observações de acerto do não-evento de pelo total observações classificadas como não.75% B Acurácia: É a proporção entre o número de acerto do modelo pelo número total de clientes. Matriz de Confusão Valores Da Amostra Valores Preditos Mau Bom Total Mau 180 158 338 Bom 30 332 362 Total 210 490 700 Tabela 2: Valores obtidos após a classificação Sensibilidade: Probabilidade de classificar como o cliente como mau paga- dor.14% n Valor Preditivo Positivo (VPP): É a proporção entre as observações de acerto do evento de interesse pelo total observações classificadas como evento de interesse. Como vimos a curva ROC se utiliza de duas medias Sensibilidade e Especifici- dade que podem ser obtidas pela Matriz de Confusão para os valores observados dada pela Tabela 2.Clientes maus. sem levar em consideração se esses clientes possuem ou não ao evento de interesse. B .71% M Especificidade:Probabilidade de classificar o cliente como bom pagador. b .evento de interesse bB bB V PN = == = 91. bB P (Ŷ = 0|Y = 0) = = 67. M . bB + mM ACC = = 73. classificados como Bons (erro).Clientes Bons. dado que ele é bom pagador.Total de cliente classificados como maus.Total de clientes classificados como bons.Clientes maus.

idêntificados por m e b de modo que suas repectivias funções de empı́ricas acumuladas são dadas por Fm e Fb então a estatı́stica KS é obtida da seguitne forma: KS(m. mede-se o quanto as variáveis que indicam a classificação original do evento de interesse e as que correspondem a classificação do modelo obtida por meio do ponto de corte adotado. usando para isso as respectivas funções empı́ricas de probabilidade acumuladas de cada grupo. tendem a apresentar o mesmo sinal de magnitude após serem padronizadas (Baldi et al. ambas variáveis assumindo valores 0 e 1. mM bB − mB bM M CC = p = 49. como ilustrado pela Figura 5.Correlação de Mathews (MCC): Como nos caso do coeficiente de Correlação de Pearson. maus e bons pagadores.03% (mM + bM )(mM + mB )(bB + bM )(bB + mB ) 7. Se considerar- mos que com base no ponto de corte foram formados dois grupos.b) = sup |F (m) − F (b)| (3) Esta função corresponde a distância máxima entre F (m) e F (b) de modo que %0 < KS < 100% sendo que 100% indica máxima diferença entre os grupos.3 O Método Kolmogorov-Smirnov (KS) O Método Kolmogorov-Smirnov nos fornece uma estatı́stica capaz de medir a distância absoluta entre dois grupos distintos. 2000).. Figura 5: Distribuição Empı́rica Após o Processo de Classificação Pela Figura 5 podemos observar que há diferenças nas distribuições empı́ricas para as classificações entre bons e maus pagadores com base no cut-off point 9 .

Com o teste de Kolmogorov-Smirnov podemos testar se há essas diferenças são confirmadas. usaremos a função Odds Ratio . obtemos ω(xj+1 ) eβ0 +βj xij+1 OR = = β0 +βj xij = eβ0 +βj xij+1 e−β0 −βj xij = eβj (5) ω(xj ) e então ln(OR) = ln(eβj ) = βj . k o j-ésimo parâmetro de interesse associado a j-ésima caracterı́stica xij do i-ésimo cliente a ser comparada.2e − 16 Com isso. 8 Odds Ratio e Interpretação dos Parâmetros Interpretar os parâmetros do modelo é um passo fundamental para medir a in- fluência que cada covariável exerce sobre a probabilidade do evento de interesse. temos que: βj > 0 ⇒ OR > 1 ⇒ π(xij+1 ) > π(xij ) βj < 0 ⇒ OR < 1 ⇒ π(xij+1 ) < π(xij ) 10 . . . Seja βj xij com j = 1. em nosso caso.OR (razão de chances) que compara a probabilidade de sucesso com a probabilidade de fracasso dado a caraterı́stica que se desejar investigar. podemos dizer que há diferenças significativas entre as distribuições das classes bons e maus pagadores.dada pela curva ROC. podemos investigar a influência que determinada caracterı́stica xij exerce sobre a probabilidade de determinado cliente ser bom ou mau pagador. temos que ω(x) é dado por: eβ0 +βj xij eβ0 +βj xij π(x) β +β x β0 +βj xij = 1 + eβ0 +βj xij = 1+e 0 j ij ω(x) = = eβ0 +βj xij (4) [1 − π(x)] e 1 1− 1 + eβ0 +βj xij 1 + eβ0 +βj xij De modo que ao fazermos xij+1 − xij = 1 . H0 : Fm (maus) = Fb (bons) Com o auxı́lio do R . portanto. . temos que: D(m.b) = 1 e p − value < 2. . Desta forma.

1 D6.125<x<=12.1 D15.5590 Purpose of Credit D4. D1.1 D7.0165 Employed by Current Employer D7.005 389 0 0 0 1 1 0 0 1 0 1 0 0 0 0.1036 0.No balance 2.1 no balance Balance of Current Account D1.776 883 1 1 0 0 0 1 0 1 1 0 1 0 0 0.003 493 0 0 0 1 1 0 1 1 1 1 0 0 0 0.4138 Installment in % of Available Income D8.1 15-25 Type of Apartment D15.007 A Tabela 3 refere-se aos dez clientes com as menores chances de inadimplência.1 D1. D15.9814 A Tabela 5 nos mostra as caracterı́sticas recomendadas pelo nosso modelo.1.<15 0. D6.6321 0.004 133 0 0 0 1 1 1 0 1 0 0 0 1 0 0.2 D2.1 D3.1 <140 Installment in % of Available Income D8.D8. Essas caracterı́sticas nos dão indı́cios de que determinado cliente tem grande chance de ser inadimplente.1 com excessão à caracterı́stica D15.005 252 0 0 0 1 1 1 0 1 0 0 0 1 0 0.6838 1.5816 0.2 D4. da seguitne forma: Tabela 5: Tabela Odds Ratio Caracterı́stica Segmentação Estimate Odds Ratio Interpcepto -1.1955 Amount of Credit D5.8825 0.4 D5.1 .1 .household Appliances -0.1 .0316 0.>$300 1. as estimativas dos parâmetros e as razões de chan- 11 .>8 years -0.1 . podemos esperar que tais caracterı́sticas estejam presentes quando relacionadas aos clientes com maiores chances de inadimplência.769 634 1 1 0 0 0 0 0 1 1 1 1 1 1 0. Tabela 3: As 10 menores probabilidades de inadimplência y D1.owned 0.791 952 0 1 0 1 0 0 0 0 1 0 0 0 0 0.765 459 1 0 1 0 0 0 0 1 1 0 1 0 0 0.2 .1 .1 D15.3317 Balance of Current Account D1.782 41 1 1 0 0 0 1 0 1 1 0 1 0 0 0.1928 Most Valuable Assests D12.4680 Payment of Previous Credits D3. A saber tais caracterı́sticas são: Variável Segmentação Balance of Current Account D1.1 D12.783 164 1 0 1 0 0 0 0 0 1 1 1 0 0 0.7852 2.002 865 0 0 0 1 1 0 1 1 0 0 0 0 0 0.4 .Problematic Running Accounts -1.> 25 -0.259 0.2 D2.1 .1 .1973 Balance of Current Account D1.793 De fato.1041 3.1.1 owned Tabela 4: As 10 maiores probabilidades de inadimplência y D1.1 D7.4 D4. suas repectivas segmentações.4 .003 72 0 0 0 1 0 0 1 1 0 1 0 0 0 0.4265 4.765 213 1 0 1 0 0 0 0 1 1 0 1 0 0 0.2 D4.765 359 1 0 1 0 0 0 0 1 1 0 1 0 0 0.no assets -0. Podemos mensurar essa proporção através da razão de chances (Odds Ratio). D6.4 D5.1 π̂ 80 1 0 1 0 0 0 0 1 1 0 1 0 0 0.1 .2 >$300 Value of Savings D6.Other -1.1 .2 .4187 0.2 .1 π̂ 822 0 0 0 1 1 0 1 1 0 1 1 0 0 0.1 D6.500 -1.7592 0. D1. Nota-se que tais probabilidades podem estar relacionadas a ausência ou quase ausência das caracterı́sticas D1.1 D3.4 .4 D8.1 (Type of Apartment). e se assim for.006 320 0 0 0 1 0 0 1 1 0 0 0 1 0 0.003 590 0 0 0 1 1 0 1 1 0 0 0 0 0 0.1038 8.1 D12.3564 Value of Savings D6.<140 1.1 .004 740 0 0 0 1 0 0 1 1 0 1 0 0 0 0.4 D8. notemos a presença das caracterı́sticas D1.765 172 1 1 0 1 0 1 0 1 1 0 1 0 1 0.2839 Purpose of Credit D4.6579 Type of Apartment D15.1.1643 Duration of Credit D2.1 D1.4 D4.2 .6.D8.

0              X= . 0        1 x21 .l) Dadas as matrizes: 1 x11 ..V = . surge a necessidade de sabermos se as covariáveis xj associadas a estes parâmetros são importantes para explicar o modelo. Com isso.. Em estatı́stica há um conjunto de técnicas que podem nos auxilar a responder essa questão. . de modo que. .       . com I(β̂) = X 0 V X d d V ar(β̂j ) = diag(V ar(β̂)j th ) = π̂ij (1 − π̂ij )...1. .. j th elemento da diagonal da matriz. De forma geral podemos dizer que a presença de determinada caracterı́stica aumenta a chance de inadimplência quando o valor de Odds Ra- tio é maior que 1... . dentre elas estão: i) Teste de Wald ii) Teste da Razão de Verossimilhança (TRV) 12 .       . . 9 Desvio padrão estimado Das derivadas parciais de 2º ordem da função `(Lβ) podemos obter as estima- tivas de varância e covariância dos β̂j 0 s ..No Balance aumenta em 8... para valores de Odds Ratio menores que 1 a presença de certa caracterı́stica diminue a chance inadimplência..    π̂( 1 − π̂n )     1 xn1 .ces (Odds Ratio) para cada caracterı́stica. para j=0. Cov(β̂j . x2k  0 π̂2 (1 − π̂2 ) . observa-se que a carac- terı́stica Balance of Current Account .... x1k  π̂1 (1 − πb1 ) 0 . .k (6) ∂ 2 L(β) Pn xij β̂j = − i=1 xij xil e xij β̂j 2 ∂βj ∂βl (1+e ) Com isso temos que: Σ = I −1 (β̂)... n×n Então temos que o desvio padrão do coeficiente βj é dado por: q DP (β̂j ) = V ˆar(βˆj ) ˆ 10 Inferência no modelo Uma vez que ja estimamos os parâmetros β̂j 0 s . β̂l ) = Cov(β̂l . β̂j ) = V ar(β̂)(j...20 vezes as chances de um cliente ser inadimplente comparado a ausência desta caracterı́stica.        . ∂ 2 L(β) Pn xij β̂j = − i=1 x2ij e xij β̂j 2 ∂βj2 (1+e ) . xnk n×(k+1) 0 0 .

sob a hipótese H0 : βj = 0. A razão resultante. 10.1 O Teste de Wald O teste de Wald é obtido por comparação entre a estimativa de máxima ve- rossimilhança do parâmetro (βbj ) e a estimativa de seu erro padrão.0004949 *** w8 688 23.736e-16 *** w2 688 29.027 1.0002468 *** w11 688 2.01653 * w6 688 12.10.431e-06 *** w5 688 5. 12 . sendo que Z denota a variável aleatória da distribuição normal padrão. desta forma.371 3.004542 ** w4 688 22. w12 688 6.597e-06 *** w9 688 9. .784 0. .5953 0.05.588 5. Observamos também que o teste w11 possui p-valor = 0. é dada por: βbj Wj = q V ar(βbj ) d onde Wj tem distribuição aproximada normal padrão e seu valor-p é dado por P (|Z|>|Wj |).135 0. porém não iremos retirar-la a caracterı́stica correspondente do modelo uma vez que sua importância possui certa relevancia além de ela ajudar compor um valor de AIC mı́nimo em uma série considerada de simulações.342e-08 *** w3 688 8. podemos rejeitar a hipótese de que β̂j = 0.08654 . j = 1. . 12 associadas aos parâmetros β̂j . são importantes para explicar o modelo. . A comparação dos valores observados com os valores preditos é realizado através da razão de verossimi- lhanças da por: 13 . .7457 0.0531 0. j = 1. Para isso utiliza- se na compração o log da função de verossimilhança.08654 > 0.437 0.3313 0. . O teste Wald também pode ser obtido da seguinte forma: h i−1 ˆ β̂) W = β̂ 0 I( β̂ = β̂ 0 (X 0 V X)−1 β̂ Hauck e Donner (1977) recomendam no caso do teste de Wald não rejeitar H0 que se a utilize o teste TRV para testar se realmente o coeficiente não é significativo.002253 ** w10 688 13.0003496 *** w7 688 12.9376 0. .220 2. Wj Df Chisq P r(> Chisq) w1 688 66. .01023 * Tabela 6: Tabela do Teste de wald Pela tabela 6 podemos verificar através dos valores de p-valores que as co- variáveis xj .2 O Teste da Razão de Verossimilhança É necessário comparar os valores observados da variável resposta com valores preditos a partir de modelo com e sem a variável de interesse.

n Y 1−yi L(β 0 |Y ) = yiyi (1 − yi ) =1 i=1 então. Pode-se escrever G como:    L β̂−i |Y. Desejamos testar a seguinte hipótese:  H0 : βi = 0 H1 : βi 6= 0 de modo que a estatı́stica G ∼ χ21. X) é a função de verossimilhança do modelo ajustado e L(β 0 |Y ) é a função de verossimilhança do modelo saturado. Segue da definição de modelo saturado que pi ˆ = yi .    L β̂|Y. a verossimilhança do modelo saturado é igual a 1. " # n Y yi 1−yi D = −2 log π̂i (x) (1 − π̂i (x)) i=1 ( n ) X = −2 [yi log(π̂i ) + (1 − π̂i ) log(1 − π̂i )] i=1 Para testar a significância da variável independênte deve-se comparar o valor de D no modelo com e sem a variável independente na equação. X   tal teste é chamado Teste da Razão de Verossimilhança(TRV). de modo que: "Q # n yi 1−yi i=1 π̂ i (x) (1 − π̂ i (x)) D = −2 log Qn yi 1−yi i=1 yi (1 − yi ) Neste caso. X D = −2 log   L (β 0 |Y ) onde L(β̂)|Y. A estatı́stica D(Deviance) tem distribuição assintótica qui-quadrado com graus de liberdade de acordo com a hipótese formulada . 14 . X é a função de verossimilhança do modelo com todas as variáveis exceto a variável a ser testada xi . do modelo em que a estimativa da proporção π é a variável resposta y. como a variável reposta é binária. G = D(modelo sem a variável) − D(modelo com a variável). onde que L β̂|Y.1−α . X G = −2 log     L β̂|Y. ou seja. X é  a função de  verossimilhança do modelo com todas as variáveis em estudo e L β̂−i |Y. tem distribuição assintótica qui-quadrado com 1 grau de liberdade. ela nos auxilia a verificar o ajuste do modelo. vejamos.

.00 0.57 1. . .21 1.02 β̂6 15.00 β̂4 25. são importantes para explicar o modelo. . .00 β̂7 12.00 0.00 0.01 1.99 1.00 β̂2 31.00 0.00 β̂9 10.01 Tabela 7: Teste Da Razão de Verossimilhança Pela Tabela 7 podemos verificar através dos valores de p-valores que as covariáveis xj .00 0.00 β̂3 8.00 0. 12 associadas aos parâmetros β̂j .00 0.90 1.00 β̂5 5.00 0.69 1.17 1. j = 1.00 0.00 β̂8 24.00 0.01 β̂12 6. .00 0.10 1.12 1. TRV gl p-value β̂0 10.00 0. 15 .87 1.00 β̂11 2. 12 .30 1. desta forma.00 β̂1 74. . podemos rejeitar a hipótese de que β̂j = 0.00 0.80 1. .00 β̂10 13. j = 1.07 1.

β̂ +  obtido conterá o verdadeiro valor do parâmetro de modo que cada amostra resulta em um intervalo diferente. β̂ +  = 1 − α Então um nı́vel de confiança h 1 − αi = 0. o intervalo β̂ −  . o intervalo contém o verdadeiro valor do parâmtro β. 16 . Na Figura 6 há dois intervalos que não contém o parâmetro β Figura 6: Interpretação dos Intervalos de Confiança 11. em 95% das amostras. βˆj + z1−α/2 DP (βˆj ) . implica que em 95% das possı́veis amostras. porém.95. 1 − α) = βˆj − z1−α/2 DP (βˆj ) .1 Intervalo de Confiança Para os Parâmetros Tomando como base o teste de Wald.11 Intervalos de Confiança na Regressão Logı́stica Múltipla Com os parâmetros β̂j 0 s estimados. temos que o intervalo de confiança de 100(1 − α)% para um parâmetro βj é dado por: h i IC(βj . desejamos agora criar intervalos de confiança para tais parâmetros de modo que: h  i P r β ∈ β̂ − .

75 β̂5 -0.76 -1.80 -0.63 -2.47 -0.03 -1.62 -0.37 1.06 -0.78 β̂7 -1.10 0.Para os Parâmetros 11. β̂l ) 2xj xl Cov( j=0 j=0 l=j+1 O intervalo de confiança para a logito é: IC(Ψ(x).90 0.43 0. .43 β̂1 2.42 -0. 1 − α) = [Ψ̂(x) − z1−α/2 DP [Ψ̂(x)].10 1.5 % β̂0 -1.66 1.26 -1.21 Figura 7: IC .58 -0. que é dado por:   π̂ log = Ψ̂(X) = β̂0 + β̂1 x1 + β̂2 x2 + .33 β̂10 0.95 β̂3 -0. Figura 8: Intervalo de Confiança para Logito 17 .58 -1.11 β̂6 -1. Estimativa 2.2 Intervalo de Confiança para Logito Podemos também obter um estimador para a parte linear do modelo de regressão logı́stica.16 1. + β̂k xk 1 − π̂ De modo que o caso geral para obtermos uma estimativa da variância de Ψ̂(X) é dado por: k X k X k X V ˆar[Ψ̂(x)] = x2j V ˆar(β̂j ) + ˆ β̂j .92 1.61 2.29 -0.88 -1.45 β̂8 1.79 0. o logito.21 β̂11 -0.68 0.5 % 97.56 β̂9 -0. .62 β̂2 1. Ψ̂(x) + z1−α/2 DP [Ψ̂(x)]].06 β̂12 0.10 -1.24 β̂4 -1.80 -0.

40 0.28 0.47 0.65 4. 1 + eΨ̂(x)−z1−α/2 DP [Ψ̂(x)] 1 + eΨ̂(x)+z1−α/2 DP [Ψ̂(x)] Figura 9: IC para os valores preditos 11.3 Intervalo de Confiança para os valores ajustados Como o logito e seu intervalo de confiança estimados.46 0.28 0.99 8.18 1.79 0.51 4..66 1.02 4.33 0..41 0.k Então um intervalo de confiança para o Odds Ratio é dado por: IC(Odds Ratio.S = βˆj ∓ z1− α2 DP (βˆj ) para j=1.94 3.17 0.78 0.72 1.17 0.08 0. podemos criar um intervalo de confiança para evento e interesse π da seguinte forma: " # eΨ̂(x)−z1−α/2 DP [Ψ̂(x)] eΨ̂(x)+z1−α/2 DP [Ψ̂(x)] IC(π.06 1.2.56 0.34 Figura 10: IC .34 0.11.20 0.16 7.76 2.19 3.23 0.98 3.20 13.Odds Ratio 18 .. 1 − α) = .4 Intervalo de Confiança para a Odds Ratio Sabemos que os limites do intervalo de confiança para βj é dado por: βI.89 0..20 0.36 0.02 0.45 2.35 0. eβS ] eβ̂inf eβ̂ eβ̂sup 0.64 1. 1 − α) = [eβI .47 0.

698) cbind(QP. e mede o quão distante as estimativas do modelo estão dos dados obeservados. Seja a hipótese: H0 : O Modelo Ajustado é Satisfatório 12. comparando o modelo ajustado com o modelo saturado.1−α i=1 π̂ i (1 − π̂ i ) Com o auxı́lio do R .2603 0.12 Medidas da qualidade do ajuste do modelo Após ajustar um modelo podemos comparar as estimativas deste modelo com os valores observados sendo que um modelo com bom ajuste (goodness of fit) possui valores estimados próximos aos valores observados. Medidas como a Deviance e Qui-Quadrada de Pearson ajudam a verificar a qualidade dos modelos.p2) QP p2 [1.1 Qui-Quadrado de Pearson As medidas da qualidade do ajuste são funções dos resı́duos definido como a diferença entre o observado e valores ajustados (y − π̂).2 Deviance A soma dos quadrados dos resı́duos no modelo logı́stico é denominada devi- ance (D). "Q # n yi 1−yi i=1 π̂i (x) (1 − π̂i (x)) D = −2 · log Qn yi 1−yi i=1 yi (1 − yi ) ( n n ) X X = 2· [yi log(yi ) + (1 − yi ) log(1 − yi )] − [yi log(π̂i ) + (1 − yi ) log(1 − π̂i )] i=1 i=1 n      X yi 1 − yi =2· yi log − (1 − yi ) log i=1 π̂i 1 − π̂i Podemos observar que a estatı́stica Deviance compara o i-ésimo valor de yi com π̂i de modo que a estatı́stica D tem distribuição qui-quadrado D ∼ χ21.9815767 12. temos : rpears<-residuals(ajust. A medida de Pearson para a diferença entre o observado e predito é: n X (yi − π̂i )2 Q= ∼ χ21.] 622.1−α 19 .type=’pearson’) (QP<-sum(rpears^2)) p2<-1-pchisq(QP.

20 0.2 1 4.47 0.2 1 50.20 689 612.0000 D3.1 1 7.40 0.52 0.69 695 681.0000 D1.0104 13 Diagnóstico do Modelo 13.59 0. 20 .38 692 657.86 693 664.23 0.1 Resı́duo de Pearson O resı́duo de Pearson é dado por: yi − π̂i rπ̂ = p π̂i (1 − π̂i ) O resı́duo de Pearson Studentizado tem a seguinte forma: Figura 11: Resı́duos de Pearson yi − π̂i rS π̂ = p π̂i (1 − π̂i )(1 − hi ) em que hi é a diagonal principal da matriz chapéu H dada por:.0000 D4.0811 D15.16 0.68 696 701.04 697 728.37 694 677.22 0.0026 D8.1 1 3. H = X(X 0 X)−1 X 0 .07 690 626. Df Resid.83 0.46 0.1 1 76.04 688 609.0003 D5.1 1 6. Df Deviance Resid.20 0.1 1 26.0000 D7.57 687 602.75 691 635.0002 D12.4 1 19.21 D1.0366 D4. Dev Pr(>Chi) NULL 699 855.4 1 12.0066 D6.60 0.0000 D2.4 1 9.1 1 21.98 698 778.1 1 14.

Figura 13: Resı́duos de Deviance 21 .2 Resı́duo Deviance O resı́duo deviance é pela seguinte fórmula: p di = ± −2 [yi log(π̂i ) + (1 − yi )log(1 − π̂i )]. Figura 12: Resı́duos de Pearson 13.

6 / 7 or more skilled employee / self-employed / Occupation unskilled with no permanant residence / unskilled with permanant residence 15 Referências Apêndice A Categorização de Covariáveis X1-Balance of Current Account Categorização D1.700 / Value of Savings 700 . 6 No Savings / <140 / 140 . cujas covariáveis estão descritas na tabela abaixo.25 / 25-35 / >35 Marital Status single / divorced / married / widowed Gender Female / Male Living in Current Household for <1 year / 1-5 years / 5-8 years / >8 years no assets / car / Most Valuable Assets life insurance / house or land Age 18-73 no further running credits / Further running credits at department store / at other banks Type of Apartment free / owned / rented Number of previous credits at this bank 1 / 2.3 Total no running account 0 0 0 274 no balance 1 0 0 269 >$300 0 1 0 394 <= $300 0 0 1 63 22 .1 D1.2 D1.14 Aplicação Para realizar esta aplicação utilizamos o banco de dados CreditScoring extraı́do do software Statistica. Variáveis Descrição Credit Rating Flag: Bom ou Mau pagador <= 300/ >300 / no balance Balance of Current Account / no running account Duration of Credit In Months Hesitant / No previous Credits / Payment of Previous Credits No problems with current Credits / Paid Back / Problematic running accounts business / furniture / household appliances / Purpose of Credit new car / other / repair / retraining / television / used car / vacation Amount of Credit Valor do crédito entre: $350 e $25793.4 / 5.1400 / >1400 unemployed / <1 year / 1-5 years / Employed by Current Employer for 5-8 years / >8 years Installment in % of Available Income <15 / 15.

7 D4.Duração de Crédito X3-Payment of Previous Credits Categorização D3.1 D4. X2-Duration of Credit Categorização D2.2 Total <= $6125.00 0 0 778 6125 <x <= 12500 1 0 167 >12500 0 1 55 Figura 15: Segmentação para Amount Cre- dit 23 .9 Total business 0 0 0 0 0 0 0 0 0 12 furniture 1 0 0 0 0 0 0 0 0 280 household appliances 0 1 0 0 0 0 0 0 0 22 new car 0 0 1 0 0 0 0 0 0 103 other 0 0 0 1 0 0 0 0 0 234 repair 0 0 0 0 1 0 0 0 0 50 retraining 0 0 0 0 0 1 0 0 0 97 television 0 0 0 0 0 0 1 0 0 12 used car 0 0 0 0 0 0 0 1 0 181 vacation 0 0 0 0 0 0 0 0 1 9 X5-Amount of Credit Categorização D5.1 D3.1 Total <= 25 months 0 770 > 25 months 1 230 Figura 14: Segmentação .8 D4.2 D4.5 D4.6 D4.1 D5.3 D4.3 D3.4 Total Hesitant 0 0 0 0 40 No previous Credits 1 0 0 0 530 No problems with current Credits 0 1 0 0 88 Paid Bac 0 0 1 0 293 Problematic running accounts 0 0 0 1 49 X4-Purpose of Credit Categorização D4.4 D4.2 D3.

3 Total <15 0 0 0 476 single 0 0 0 548 15.2 D12.3 Total <1 year 0 0 0 130 no assets 0 0 0 282 1-5 years 1 0 0 308 car 1 0 0 232 5-8 years 0 1 0 149 life insurance 0 1 0 332 >8 years 0 0 1 413 house or land 0 0 1 154 Figura 16: Segmentação por Idade X13-Age X14-Further running credits Categorização D13.4 Total Categorização D7.3 Total Categorização D9.4 Total Sem Poupança 0 0 0 0 603 unemployed 0 0 0 0 62 <140 1 0 0 0 103 <1 year 1 0 0 0 172 140 .2 D13.3 Total Categorização D12.3 D6.2 D7.2 D9.25 1 0 0 157 divorced 1 0 0 50 25-35 0 1 0 231 married 0 1 0 310 >35 0 0 1 136 widowed 0 0 1 92 X10-Gender Categorização D10.1 D7.1 D11.2 Total <= 20 0 0 0 57 no further running credits 0 0 814 20 <= Age <= 35 1 0 0 599 at department store 1 0 47 35 <Age <= 50 0 1 0 248 at other banks 0 1 139 >50 0 0 1 96 24 .1 D9.1 D8.2 D11.2 D6.700 0 1 0 0 63 1-5 years 0 1 0 0 339 700 .1 Total Female 0 690 Male 1 310 X11-Living in Current Household for X12-Most Valuable Assets Categorização D11. X6-Value of Savings X7-Employed by Current Employer Categorização D6.1 D12.1 D14.1 D13.1 D6.1400 0 0 1 0 48 5-8 years 0 0 1 0 174 >1400 0 0 0 1 183 >8 years 0 0 0 1 253 X8-Installment in % of Available Income X9-Marital Status Categorização D8.3 Total Categorização D14.2 D8.3 D7.

xlab = "In Months") min(x5) . rep("cyan".5).header=T. main="Duration of Credit .txt".sep="") attach(segm) min(x2) .dados[.7)).table("segmentacao. max(x5) hist(x5.3 Total skilled employee 0 0 0 630 self-employed 1 0 0 148 unskilled with no permanant residence 0 1 0 22 unskilled with permanant residence 0 0 1 200 B Código em R # ------------------------------.1 D15.75). col=c( rep("cyan".segmented".2 D17. rep("yellow". x<-cbind(x0.2:71]) dados1<-dados #---------------------. max(x2) hist(x2.1 D16.7) ).3).Segmentaçoes ---------------------- segm<-read.2 D16. xlim=c(0.1 D17. 25 .table("DataCreditScoring_D.header=T.3 Total 1 0 0 0 633 2 até 4 1 0 0 333 5 até 6 0 1 0 28 7 or more 0 0 1 6 X17-Occupation Categorização D17.txt".Pacotes -------------------------------- library(MASS) require(stats) library(ROCR) library(Epi) require(xtable) library(xtable) # ---------------------------.sep="") dim(dados) attach(dados) x0<-1 . rep("yellow".3).Dados ------------------ dados<-read.2 Total free 0 0 179 owned 1 0 107 rented 0 1 714 X16-Number of previous credits at this bank Categorização D16.col=c( rep("green". X15-Type of Apartment Categorização D15.

Amostra de Treinamento ---------------.490)] # posi<-c(train_bad.train) head(modelo.1)) ROC(form = modelo. sep=" ".test= "Chisq") A.train$model) 26 .main="Age .4 + D4.c<-vector() # while(modelo.Odds Ratio ------------------------ names(modelo.c[cont]<-modelo.train_good)[sample.1 + D6. plot="ROC". rep("green".4 + D8.700)] # test<-dados1[-posi. train<-dados1[posi.2 + D4.train$fitted.train$y ~ modelo.1]==1) # train_bad<-bad[sample. file="train.int(700.1]==0) # train_good<-good[sample.1+ # D15.2 + D2.train<-glm(y ~ D1. a.col=c( rep("cyan".br/~giapaula/envelr_bino") summary(modelo.1 + D7.table(train.1 + D1. data=train.1+D12.train) anova(modelo. MX=T.I.values.model<-modelo.C) min(a.80).210)] # # Clientes Bons # good<-which(dados1[.i.4 + # D5.family=binomial(link="logit")) # fit.I.PV=T.] .train$aic # cat(" ".3).ime.train # source("http://www.names=F.data=train. rep("yellow".segmented".train$aic>658){ # Cliente Maus # bad<-which(dados1[.txt". main="Amount of Credit .3). xlab = "In Years") # ---------.cont) # } xtable(A.train.# # cont<-0 .train) # cont<-cont+1 # a. row.i.1.5)).int(300. rep("pink".1).i.c) par(mfrow=c(1.segmented".xlim=c(10.] #write.usp. main="ROC . max(x13) hist(x13.C<-stepAIC(modelo. xlab = "In Dollar") min(x13) .int(700.Data Train") # ----------------.1+ D3. quote=F) # modelo. AUC=T.

2]==1. mm<-mm+1.clientes<-modelo.] mm<-0. n<. bb<-bb+1.1]==1 & tt[i. n) (mc<-data.0.M+B m<-mm+mb b<-bm+bb c1<-c("Prediçoes".1.mr<-sort(pi)[650:700] clientes[pi.mn[4]) for(i in 1:10) print(clientes[clientes$pi==pi. B ) c4<-c("Total".1]==0 & tt[i.0. M ) c3<-c("Bom".mb .mn[i].b .c4)) (Sensibilidade = mm/M)*100 (Especificidade = bb/B)*100 27 . "Total" ) c2<-c("Mau".]) xi__1<-c(1.mr[i].0.1.210]<-1 .train$model clientes<-cbind(clientes. bm<-bm)} for(i in 1:length(tt[. bb<-bb)} for(i in 1:length(tt[.0.mm .0.14]==pi.1])){ifelse( tt[i.train$fitted. bm<-0 .1.0. bb<-0 for(i in 1:length(tt[.0. mb<-mb)} M<-mm+bm .1. pi) head(clientes) pi.1) w<-function(v){ v<-as.0.2]==0. bm<-bm+1.0.] which(clientes[. B<-mb+bb .mn<-sort(pi)[1:10] pi. mb<-0 .1])){ifelse( tt[i.1]==1 & tt[i.2]==0.mn.]) for(i in 1:10) print(clientes[clientes$pi==pi.0.1]==0 & tt[i.m . "Bom". mm<-mm)} for(i in 1:length(tt[. classif[classif<1]<-0 tt<-cbind(train[.bm .frame(c1.1].values classif[classif>0.1.0.classif) tt[1:20.c3.0. mb<-mb+1. "Mau".0.c2.vector(v) print(v) return(exp(v%*%bts)) } (OR<-w(xi__1)/w(xi)) # -----------.0.1.1.1])){ifelse( tt[i. bb.1])){ifelse( tt[i.Matriz de Confus~ ao -------------------- classif<-modelo.0.0) xi<-c(1.2]==1.

prediction(pp. xlim=range(c(x_bad. xlab="Cutoff".col="green". col=c("cyan". main="Distr.1).Gráficos ----------------------# pp <. legend= c("Maus Pagadores". x_good.1 + D3. col= "blue") lines(density(pred@predictions[[runi]][pred@labels[[runi]]=="1"]).1)) plot(0.2 + D2. col="cyan". alternative="t") #------------------.modelo.4 + D8.7).train$fitted. ylim=c(0.mb*bm) / sqrt((mm+bm)*(mm+mb)*(bb+bm)*(bb+mb)))*100 # ----------------------.modelo.type="n".1. pch=16.x_good)).data=train. bty="n" ) ks.(ACC = (bb+mm)/n)*100 (VPP = mm/m)*100 (VPN =bb/b)*100 (PVL = (mm + bm)/n)*100 (MCC = (mm*bb .pch=16) legend("bottomright".pch=16 .2).values ll <.Infer^ encia sobre os Par^ ametros --------- # Teste De Wald # # H0: bj = 0 install.Teste KS ------------------ require(stats) library(stats) cl<-modelo. lty=5. add=TRUE.1 + D12. lty=c(5.ll) #perf <.packages("lmtest") library(lmtest) modelo.2 + D4.210] x_good<-cl[cl<=0. col="red") } # -----------.train$fitted.0.family=binomial(link="logit")) 28 .graph() plot(ecdf(x_bad).4 + D5."green").’fpr’) par(mfrow=c(1.1 + D6. "Bons Pagadores").4 + D4. xlim= c(0.1 + D7. lty="dashed".values x_bad<-cl[cl>0.w1 <-glm(y ~ D1.test(x_bad. ylab="Density".’tpr’.train$y pred <.1 + D15.performance(pred.main="Classes") for (runi in 1:length(pred@predictions)) { lines(density(pred@predictions[[runi]][pred@labels[[runi]]=="0"]).210] win. Empı́rica Das Classes" ) plot(ecdf(x_good).

1 + D1.w6 <-glm(y ~ D1.1 + D15.w4 <-glm(y ~ D1.4 + D8.data=train.family=binomial(link="logit")) modelo.2 + D4.4 + D5.1 + D12.1 + D3.family=binomial(link="logit")) modelo.1 + D3.1 + D12.1 + D6.1 + D12.2 + D2.data=train.family=binomial(link="logit")) modelo.1.2 + D5.1 + D1.1.1 + D1.1 + D12.4 + D4.w2 <-glm(y ~ D1.1 + D3.data=train.4 + D8.1 + D7.4 + D5.1.data=train.1 + D6.2 + D4.1 + D7.1 + D7.4 + D4.2 + D2.1 + D1.2 + D2.2 + D4.1 + D15.w10<-glm(y ~ D1.w1 <-glm(y ~ D1.data=train.4 + D4.1.4 + D4.data=train.data=train.train) Betas<-coef(modelo.4 + D5.4 + D12.2 + D2.2 + D4.1 + D7.4 + D4.family=binomial(link="logit")) modelo.1.1 .1.data=train.1 + D3.2 + D2.4 + D5.1 + D1.w4 <-glm(y ~ D1.4 + D8.data=train.1.2 + D4.1 + D15.1 + D6.w7 <-glm(y ~ D1.family=binomial(link="logit")) modelo.2 + D4.w12<-glm(y ~ D1.1 + D4.data=train.Betas[i]^2 / (Sigma[i.4 + D4.2 + D4.train) for(i in 1:13) Sxx<-(Sigma[i.1 + D1.w3 <-glm(y ~ D1.688)) #Teste da Raz~ ao de Verossimilhança# # H0: bj = 0 # Sem o j-ésimo beta .1 + D1.4 + D4.1 + D15.4 + D5.2 + D4.1 + D15.4 + D8.1 + D1.modelo.1 + D3.1 + D15.2 + D2.1 + D12.1.4 + D5.1 + D2.data=train.1 + D6.4 + D5.1 + D7.1.w1.4 + D8.1 + D12.4 + D5.4 + D4.2 + D3.4 + D4.w11<-glm(y ~ D1.2 + D4. j=1.i]) for(i in 1:13) W[i]<.1 + D1.1 + D6.2 + D4.4 + D4.data=train.1 + D1.1 + D7.1 + D3.1 + D15.1 + D15.family=binomial(link="logit")) (WW<-waldtest(modelo.4 + D8.family=binomial(link="logit")) modelo.1 + D1.2 + D3.1 + D12.w5 <-glm(y ~ D1.1 + D15.4 + D6.2 + D2.1 + D7.2 + D4.1.1 + D7.test = "Chisq")) # Ou desta forma W<-vector() Sxx<-vector() coeftest(modelo.1 + D15.2 + D2.train.data=train.w9 <-glm(y ~ D1.1 + D3.1 + D3.1 + D8.1 + D6.4 + D8.data=train.2 + D2.4 + D8.1 + D6.family=binomial(link="logit")) modelo.family=binomial(link="logit")) modelo.2 + D2.w3 <-glm(y ~ D1.train) Sigma<-vcov(modelo.i]) (valor_p<-pchisq(W.1.data=train.4 + D4.2 + D2.family=binomial(link="logit")) modelo.1 + D6.1 + D2.1 + D7.1 + D15.modelo.1 + D6.1 + D3.1 + D1.1 + D6.4 + D5.4 + D5.1.2 + D2.1 + D4.4 + D8.4 + D4.1 + D3.1 + D15.w2 <-glm(y ~ D1.1 + D12.1 + D7.family=binomial(link="logit")) modelo.1.2 + D4.1 + D15.4 + D8.1 + D12.family=binomial(link="logit")) modelo.1 + D7.1 + D6.4 + D5.1 + D3.1 + D1.2 modelo.1 + D15.2 + D4.4 + D5.1 + D12.2 + D4.1 + D7.family=binomial(link="logit")) modelo.4 + D8.1 + D12.1 + D7.1 + D7.4 + D8.1 + D6.1.family=binomial(link="logit")) modelo.4 + D5.4 + D4.w0 <-glm(y ~ -1 + D1.1 + D12.1 + D12.4 + 29 .4 + D8.w8 <-glm(y ~ D1.family=binomial(link="logit")) modelo.4 + D4.1 + D6.1 + D3.

1 + D12.train)-logLik(modelo.1.1 + D12.w4)) gl4 <.family=binomial(link="logit")) modelo.train)-logLik(modelo.length(coef(modelo.w7)).1 + D15.2 + D4.1 + D7.2 + D4. p0<-1-pchisq(TRV0.1 + D1.4 + D4.1 + D6.w5)).1 + D15.4 + D4.4 + D8.4 + D12.1 + D12.1 + D6.2*(logLik(modelo.w9 <-glm(y ~ D1.length(coef(modelo.gl7) TRV8<.1 + D6.1 + D7.1 + D3.2*(logLik(modelo.1 + D12.train)-logLik(modelo.2*(logLik(modelo.4 + D5.2 + D4. p6<-1-pchisq(TRV6.1.4 + D5.length(coef(modelo.length(coef(modelo.train))-length(coef(modelo.4 + D4.1 + D7.1 + D7.2*(logLik(modelo.1.2*(logLik(modelo.1 + D6.4 + D4.gl1) TRV2<.family=binomial(link="logit")) TRV0<.2*(logLik(modelo.4 + D8.w4)).1 + D7.w6)).length(coef(modelo.w5)) gl5 <.length(coef(modelo.w8)).1 + D7.2 + D2.gl8) TRV9<.4 + D5.2*(logLik(modelo.w3)) gl3 <. p5<-1-pchisq(TRV5.train)-logLik(modelo.1.family=binomial(link="logit")) modelo.w0)).2 + D2.length(coef(modelo.1 + D1.length(coef(modelo.family=binomial(link="logit")) modelo.w3)).train))-length(coef(modelo.train)-logLik(modelo.1 .1 + D6.w8 <-glm(y ~ D1.data=train.1 + D15. p3<-1-pchisq(TRV3.data=train.w11<-glm(y ~ D1.data=train.w1)) gl1 <.4 + D4.1 + D1.1 + D1.train)-logLik(modelo.train)-logLik(modelo.1.train)-logLik(modelo.1 + D3.2*(logLik(modelo.w9)) gl9 <.2 + D4.gl0) TRV1<.family=binomial(link="logit")) modelo.1 + D15.1 + D3.4 + D8.2*(logLik(modelo.1 + D12.1 + D15.4 + D4. p9<-1-pchisq(TRV9.train))-length(coef(modelo.2 + D2.1 + D3.1 + D7.data=train.w2)) gl2 <.4 + D5. D5.2*(logLik(modelo.1 + D6. p2<-1-pchisq(TRV2.train))-length(coef(modelo.1 + D15. p8<-1-pchisq(TRV8.train)-logLik(modelo.data=train.2 + D2. p7<-1-pchisq(TRV7.length(coef(modelo.4 + D4.train))-length(coef(modelo.2 + D2.train))-length(coef(modelo.w10<-glm(y ~ D1.train))-length(coef(modelo.4 + D5.1 + D1.data=train.train))-length(coef(modelo. p4<-1-pchisq(TRV4.1.gl2) TRV3<.2*(logLik(modelo.2 + D4.gl9) TRV10<.w1)). p1<-1-pchisq(TRV1.1 + D15.w7 <-glm(y ~ D1.gl5) TRV6<.train)-logLik(modelo.1 + D8.2 + D5.w10)) 30 .1 + D12.1 + D1.1 + D1.data=train.w7)) gl7 <.4 + D8.2 + D2.w12<-glm(y ~ D1.1 + D1.data=train.w1)).4 + D4.w8)) gl8 <.w0)) gl0 <.train))-length(coef(modelo.2 + D2.4 + D8.1.4 + D6.1 + D3.1 + D12.train))-length(coef(modelo.4 + D8.gl4) TRV5<.4 + D8.data=train.w6)) gl6 <.train)-logLik(modelo.gl6) TRV7<.family=binomial(link="logit")) modelo.1 + D3.family=binomial(link="logit")) modelo.w5 <-glm(y ~ D1.1 + D15.family=binomial(link="logit")) modelo.4 + D5.gl3) TRV4<.1 + D7.w6 <-glm(y ~ D1.1 + D3.w9)).2 + D4.family=binomial(link="logit")) modelo.1 + D6.1 + D3.1.2 + D2.length(coef(modelo.

type=’l’) # INTERVALO DE CONFIANÇA PARA O LOGITO names(modelo.u.TRV3.gl10.train$model) phi<-modelo. type=’l’) lines(I.train$linear.w12)) gl12 <.gl11) TRV12<.gl2.-1]) head(X) 31 .gl6.p11.p10.p.vector(IC_p[. lty = 1 .gl9.gl7.2*(logLik(modelo.f.TRV8.p8.TRV1.main=expression(hat(beta)) .TRV9.w11)) gl11 <.train).1]) S.TRV10.train))-length(coef(modelo. ylim=c(min(I.p6.gl10 <.f).train))-length(coef(modelo.gl1.TRV5. lty = 4 .TRV2.train)-logLik(modelo.train).gl12) A<-cbind(TRV.length(coef(modelo. p11<-1-pchisq(TRV11. S_ij<-c() X<-cbind(x0.gl8. type=’l’) lines(S.u. col="red".length(coef(modelo.modelo.lty = 3 .train$model[.2]) par(mfrow=c(1.n.p2.w10)).length(coef(modelo.p5.gl3. gl.ylab="IC".p9.1)) plot(coef(modelo.p7.TRV12) p<-c(p0.col="black".train))-length(coef(modelo.IC_p) xtable(cb) IC_p<-confint(modelo.p4. pch=16.gl12) TRV<-c(TRV0.max(S.p12) gl<-c(gl0.w12)).vector(IC_p[. p) # INTERVALO DE CONFIANÇA PARA Os Par^ ametros IC_p<-confint(modelo.pch=16 .p3. col="blue".gl5.p1.predictors S_ii<-c() .train)-logLik(modelo.TRV4. pch=16.w11)).train) I.f<-as. p10<-1-pchisq(TRV10.2*(logLik(modelo.p<-as.train) cb<-cbind(coef(modelo.n.n.gl4.TRV11.train) head(modelo.TRV6.gl10) TRV11<.p)).gl11. p12<-1-pchisq(TRV12. add=T.u.TRV7.

L).lty = 3 .n. col="red".")" ) par(mfrow=c(1.f. "\n") S_ij[i]<-sum(2*X[.pi.f) 32 .2]) I.log<-cbind(I. lty = 4 .u.main=expression(hat(Psi(x))) .n.L) ) S.u.S.f.n.n.col="black".L<-phi+1.u.pi. type=’l’) lines(I.u.n.u.pi.pi.phi) S.1)) plot(pi. type=’l’) IC.p. lty = 4 . col="blue". add=T.for(i in 1:13) { S_ii[i]<-(sum((X[. pch=16. pch=16.f.ylab="IC".u.i.pi.1]) S.S.max(S.f.f.p.u. pch=16.p.u.96*sqrt(Var. type=’l’) lines(S.p. ylim=c(min(I.S.main=expression(hat(pi(x))) . lty = 1 .p.L.lty = 3 .exp(I.phi.p.f.f<-as.exp(I. type=’l’) lines(S.u.96*sqrt(Var.f.n.L)/ (1 + exp(S.p.log<-cbind(I. lty = 1 .L."\n j = ".S_ij) Var.L) ) cat("IC(L)=(".f.phi<-sum(S_ii + S_ij ) I.L<-phi-1.col="black".1)) plot(phi. j.p. type=’l’) (IC.n.L)).pi)).n.n.p. col="red".exp(S.n.i]^2)*Sigma[i.pi<.pi<.u.pch=16 .I.i]) ) for(j in 1:13){ if(i!=j) { cat("i = ".i]*X[.p.".L) # Intervalo de confiança para proporçao pi I.f.u.odds<.vector(IC_p[.j])} } } cbind(S_ii.n.pi.".max(S.p<-as.vector(IC_p[.f.phi) par(mfrow=c(1.n.f.pch=16 .pi)) # Intervalo de confiança para Odds Ratio IC_p<-confint(modelo. col="blue".j]*Sigma[i.L)/ (1 + exp(I.p.u.L.n. pch=16. ylim=c(min(I.train) I.f.pi). type=’l’) lines(I.n.ylab="IC".

ylab="resı́duos deviance".test="Chisq")) summary(ajust) xtable(anova(ajust.test="Chisq")) cbind(ajust$fitted.pch=1.pch=16 . ylim=c(-3.odds) # ---------. type=’l’) (IC. col="red") par(mfrow=c(1.main="Resı́duos de Deviance" . ylab="resı́duos Pearson".n.f.u. ylim=c(min(I.1)) ntot<-c(10.type=’pearson’) QP<-sum(rpears^2) p2<-1-pchisq(QP. pch=16.exp(S. col="blue") QL<-sum(dev^2) p1<-1-pchisq(QL.u.S.usp.698) cbind(QP.main=expression(exp(hat(beta))) .f.ime.max(S.u.lty = 3 .1)) plot(rpears.odds. pch=16.main="Resı́duos de Pearson" .n. col="red".vector(coef(modelo.13.f. main = "Resı́duos de Deviance") abline(h=0.ajust$y) ajust$residuals dev<-residuals(ajust.698) cbind(QL.odds<.model<-ajust source("http://www.col="black".p1) rpears<-residuals(ajust.p.u.lty=4.p.p2) par(mfrow=c(1.12. col="blue". type=’l’) lines(I.odds). ylim=c(-5.type=’deviance’) plot(dev.odds.p. type=’l’) lines(S.p.Medidas da Qualidade do modelo ---------------- ajust<-modelo.ylab="IC".8.odds.odds<-cbind(I.p) bts<-as.lty=3.S.exp(bts). lty = 4 .values.lty=1.br/~giapaula/envelr_bino") 33 .odds)) xtable(IC.n. lty = 1 .10) fit.1)) plot(exp(bts).17. col="red") plot(dev.train plot(anova(ajust.odds)).3)) abline(h=0.train)) par(mfrow=c(1.15.5)) abline(h=0.u.pch=1.15.

col="red". h=0) # Resı́duos de student da regress~ ao: abline(plot(rstudent(modelo.col="red".main="Resı́duos do Modelo") .1)) # Resı́duos da regress~ ao: abline(plot(resid(modelo.RData") #Limpar a áreade trabalho da seç~ ao ativa: rm(list = ls(all = TRUE)) 34 .main="Resı́duos Studentizados"). h=0) save.train).col="red".train).graph() par(mfrow=c(1.win.image ("Credit_Score. h=0) # Resı́duos padronizados da regress~ ao: abline(plot(rstandard(modelo.main="Resı́duos Padronizados") .train).