我正在使用零膨胀泊松(zip)和零膨胀负二项式(zinb)回归来检测计数数据(在6家医院报告的30年每年死亡)的时间趋势,其可能为零和过度离散。 我使用pscl package编写了一些代码,我的目标是比较医院之间的趋势。
public void doLogin(AuthCredentials credentials) {
myDisposableObserver = new DisposableObserver<Account>() {
@Override
public void onNext(Account account) {
eventBus.post(new LoginSuccessfulEvent(account));
}
@Override
public void onError(Throwable e) {
if (isViewAttached()) {
getView().showError();
}
}
@Override
public void onComplete() {
if (isViewAttached()) {
getView().loginSuccessful();
}
}
};
// do login
accountManager.doLogin(credentials)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(subscriber);
}
}
private void cancelSubscriptionToMyPrescriptorManager() {
if (myDisposableObserver != null && !myDisposableObserver.isDisposed()) {
myDisposableObserver.dispose();
}
}
但是,当我绘制一些数据时,它显示出略微增加的趋势,而zip和zinb显示负面趋势
以下是一个例子:
zip结果:
Counts<- read.csv("data.csv", header = T)
Years= Counts$X
Ho1= Counts$Ho1
Ho2= Counts$Ho2
Ho3= Counts$Ho3
... .........
... ..........
require(pscl)
zip1 <- zeroinfl(Ho1 ~ Years, dist = "poisson")
zinb4 <- zeroinfl(Ho4 ~ Years, dist = "negbin")
对于该模型,趋势(斜率)是-0.235,当我使用普通最小二乘(OLS)时,趋势= 0.043。 我的理解是zip和OLS应该略有不同。
所以我想也许我的代码不正确或者我遗漏了一些东西。
我很感激任何想法和建议
答案 0 :(得分:0)
随着Years
的增加,你会得到越来越多的计数(=更高的响应和更少的零)和你会减少零通胀(=更高的响应和更少的零)。因此,模型的两个组件中的效果似乎是同步的,并与您的OLS结果一致。