2016-11-30 7 views
1

я должен сравнить выход из следующих двух моделей:Устный netlogit выход

PTA.Logit.Ctrl <-glm(pta~ally+distance+ltrade+language+igo+affinity, 
       family=binomial(link="logit"),data=pta.ally.dyadic.1990.csv) 

и

PTA.QAPX.Ctrl <- netlogit(pta_network_1990,list(ally_network_1990,distance_1990,trade_1990, language_1990, igos_1990, affinity_1990), intercept=TRUE, mode="graph", diag=FALSE, nullhyp=c("qapx"), reps=100) 

, которые выглядят следующим образом:

enter image description here

и

enter image description here

Теперь выход glm довольно прост, однако я борюсь с выходом в сеть, особенно с точки зрения значимости. Для первой модели сетевые данные используются в двоичной форме, для второй - в матричной форме. Любая помощь в том, как интерпретировать вывод сетевого логита, будет с благодарностью оценена!

+0

Этот вопрос действительно более подходит для Cross Validated, так как это вопрос статистики, а не вопрос программирования. Я дам здесь ответ и переместите его, если он будет перенесен. – paqmo

+0

О, да, вы правы, спасибо, что указали это и, конечно, на ваш ответ! – atzepeng

ответ

1

В отличие от модели glm, которая является параметрической, модель qap непараметрична, используя подход с перестановкой, который более подходит для сетевых данных. Вы заметили, что коэффициенты схожи (на самом деле, должны быть одинаковыми, так как netlogit использует glm для оценки модели). Тем не менее, p-значения и стандартные ошибки, где модели отличаются. Модель qap переставляет строку и столбцы модельных матриц (в зависимости от принятого подхода, который представляет собой перестановки x) и пересчитывает коэффициенты и статистику тестов. Он делает это для количества раз, указанного в rep=n. Это создает распределение, к которому сравниваются первоначально оцененные статистические данные испытаний. Три столбца в конце (Pr(<=b) и т. Д.) Представляют собой нижние, верхние и двухсторонние тесты, соответственно.

Я проиллюстрирую это игрушечными сетями.

library(igraph); library(ggplot2) 
x<-rgraph(25,2) 
y.l<-x[1,,]*3 
fit <- netlogit(y, x, reps=100, nullhyp = "qapx") 

Вот краткие статистика:

> summary(fit) 

Network Logit Model 

Coefficients: 
      Estimate Exp(b) Pr(<=b) Pr(>=b) Pr(>=|b|) 
(intercept) 0.1859224 1.2043289 1.00 1.00 1.00  
x1   -0.2377116 0.7884300 0.08 0.92 0.13  
x2   -0.2742033 0.7601775 0.03 0.97 0.08  

Вы можете увидеть распределение для каждого члена в модели в netlogit объекта с fit$dist[,2] для x1 и fit$dist[,3] для х2 и тестовой статистики с использованием fit$tstat[2] и fit$tstat[3]

ggplot() + geom_density(aes(fit$dist[,2])) + geom_vline(aes(xintercept=fit$tstat[2])) 

enter image description here

Вы можете видеть, что около 0,08 наблюдений меньше или равно тестовой статистике для x2, тогда как 0,92 больше или равно тестовой статистике.

Мы можем видеть это численно:

> mean(fit$dist[,2] >= fit$tstat[2]) 
[1] 0.92 
> mean(fit$dist[,2] <= fit$tstat[2]) 
[1] 0.08 
> mean(abs(fit$dist[,2]) >= abs(fit$tstat[2])) 
[1] 0.13 

Мы тогда интерпретировать эти р-значения стандартным образом - если бы не было никакой связи между у и x1 (нуль), то вероятность наблюдения тест статистика больше или больше - 0.92 и т. д. Ключ в том, что распределение не является параметрическим распределением, а основано на перестановках данных.

Смежные вопросы