亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? probit1.gss

?? gauss 離散型計量估計源代碼,直接下載下來就可以使用
?? GSS
?? 第 1 頁 / 共 2 頁
字號:
/*
************************************************************************
*   (C) Copyright 1999, Peter Lenk. All Rights Reserved.
*	PROBIT1.GSS
*	HB Probit Regression Model.
*----->PROBIT1 uses common choice set matrix for all subjects.
*----->PROBIT2 allows for different design matrices for subjects.
*
*       Use McCullough and Rossi's method of post-MCMC normalizing to identify model
*
*		Select one of mvar+1 alternatives.
*
*		Y_{ij} 	= X_{j}*beta_i + epsilon_{ij} 
*			for i = 1, ..., I and j = 1, ..., n_i
*		Y_{ij} is mvar vector
*		Y_{ijk} is the utility from subject i, choice set j, and alternative k
*		for 	i = 1, ..., nsub
*				j = 1, ..., nchoice
*				k = 1, ..., mvar
*
*		Alternative mvar+1 is the base vector.
*		
*		
*		Select alternative k if:
*			Y_{ijk} > max( Y_{ijl} } for l \= k < mvar+1.
*		Select base brand if max(Y) < 0.
*
*		Observe the choices, not the utilities Y_{ij}.
*		Pick_{ij} is a mvar vector of 0/1.  
*
*
*		beta_i is rankx vector
*		epsilon_{ij} is N(0,Sigma)
*       Error variance for brand mvar is one.
*
*
*		X_{j} is mvar x rankx for choice j.
*
*		beta_i	= Theta'Z_i + delta_i
*		delta_i	is N(0,Lambda)
*			Z1 is ln(income) and z2 = family size.
*	PRIORS
*		Sigma  is Inverted Wishart(sf0,sg0)
*		Theta is maxtrix normal(u0,v0).
*		That is, vec(Theta) is N(vec(u0),v0).
*		vec(theta) stacks the columns of theta.
*		Lambda is Inverted Wishart(f0, g0) 
***********************************************************************
*/
new;
outfile		= "results1.dat";	@ Specify output file for saving results 					@
								@ outfile is a string variable that contains a file name 	@
inx	 		= "xdata";			@ Name of Gauss file with choice set design matrix			@

inz	 		= "zdata";			@ Name of Gauss file with Z data							@
flagtrue	= 1;				@ 1 -> knows true parameters from simulation				@

/*
********************************************************************
*	Initialize parameters for MCMC 
********************************************************************
*/
smcmc		= 100;		@ number of iterations to save for analysis 				@
skip		= 1;			@ Save every skip iterations							@
nblow		= 100;		@ Initial transition iterations 							@
nmcmc		= nblow + skip*smcmc;	@ total number of iterations					@
nygen		= 1;		@ Do nygen generations of Y for each MCMC iteration.		@

/*
********************************************************************
*	Get data
********************************************************************
*/

@ Get dimensions and pointers @
load iptx = iptx;
mvar = iptx[1,2];						@ # choices = mvar + 1 @
load cdata = cdata;



@ Input Gauss files @
open f1 	= ^inx;					@ Get Gauss file for X data 				@
xdata		= readr(f1,rowsf(f1));		@ "p" for picks								@	
ci			= close(f1);



nsub		= rows(cdata);				@ Number of subjects @
nchoice		= cols(cdata);				@ Number of choices @
ntot			= nsub*nchoice;
xnames		= setvars(inx);			      @ Get the variable names that accompnay X, Y data @
ynames		= xnames[1:mvar];			@ Use names of interceps for names of components of Y @
ynames2		= ynames|" Base ";
rankx		= cols(xdata);

open f1		= ^inz;
zdata		= readr(f1,rowsf(f1));		@ First column of zdata is a vector of ones 	@
ci			= close(f1);
znames		= setvars(inz);
rankz		= cols(zdata);					@ # of Z variables (includes intercept) @
thdim		= rankx*rankz;					@ dimension of vec(theta) @

@ Compute some sufficient statistics @
ztz		= zdata'zdata;

/*
********************************************************************
*	Initialize Priors 
********************************************************************
*/


@ Prior for theta is N(u0,v0) @

u0 		= zeros(thdim,1);
v0   	= 100*eye(thdim);		@ thdim = rankx*rankz    @
v0i  	= invpd(v0);    		@ used in updating theta @
v0iu0 	= v0i*u0;          		@ used in updating theta @

@ Prior for sigma is IW(sf0, gs0) @
sf0 	= mvar+2; sfn = sf0 + ntot;
sg0i	= eye(mvar);



@ Lambda^{-1} is W_rankx(f0,g0 ) @
@ f0 = prior df, g0 = prior scale matrix @
f0 		= rankx+2;  f0n = f0 + nsub;
g0i 	= eye(rankx);   @ g0^{-1} @

/*
*******************************************************************
*	Initialize MCMC
******************************************************************
*/
ydata	= zeros(ntot,mvar);

beta 	= zeros(nsub,rankx);
sigma	= eye(mvar);			
sigmai	= invpd(sigma);

theta	= zeros(rankz,rankx);
lambda	= eye(rankx);
lambdai	= invpd(lambda);

@ Define data structures for saving iterates & computing posterior means & std @
betam	= zeros(nsub,rankx);	@ posterior mean of beta 		@
betas	= zeros(nsub,rankx);	@ posterior std of beta 		@
c		= mvar*(mvar+1)/2;
sigmag	= zeros(smcmc,c);		@ save iterations for sigma 	@
thetag	= zeros(smcmc,thdim);
c		= rankx*(rankx+1)/2;
lambdag = zeros(smcmc,c);		@ save iterations for lambda 	@
ydatam	= zeros(ntot,mvar);		@ posterior mean utilities		@
ydatas	= ydatam;				@ posterior std utilities		@



/*
********************************************************************
*	Do MCMC
********************************************************************
*/
etime = hsec;
@ Do the initial transition period @
for i1 (1,nblow,1);	imcmc = i1;
	call getprobit;
	if imcmc == 100*floor(imcmc/100);
		dtime = (hsec -etime)/(60*100);
		print "TP Iteration = " imcmc " D.time = " dtime;
		etime = hsec;
	endif;
endfor;

etime = hsec;
for i1 (1,smcmc,1);	imcmc = i1;		@ Save smcmc iterations 			@
	for i2 (1,skip,1); jmcmc = i2;		@ Save every skip iterations 	@
		call getprobit;
	endfor;
	if imcmc == (100/skip)*floor(skip*imcmc/100);
		dtime 	= (hsec - etime)/(60*100);
		tit		= nblow + skip*imcmc;
		print "Iteration = " tit " D.time = " dtime;
		etime 	= hsec;
	endif;
	@ When saving iterates, divide by sigma[mvar,mvar] or its square root to identify model @
	sqrtsiglast    = sqrt(sigma[mvar,mvar]);
	sigmag[imcmc,.]	= vech(sigma/sigma[mvar,mvar])';	
	                                @ vech({1 2 3, 4 5 6, 7 8 9}) = {1, 4 5, 7 8 9} @
									@ xpnd is the inverse operator of vech			@
	thetag[imcmc,.]	= vecr(theta/sqrtsiglast)';
	betam			= betam 	+ beta/sqrtsiglast;
	betas			= betas 	+ (beta/sqrtsiglast)^2;
	lambdag[imcmc,.]= vech(lambda/sigma[mvar,mvar])';
	ydatam			= ydatam + ydata/sqrtsiglast;
	ydatas			= ydatas + (ydata/sqrtsiglast)^2;
endfor;


/*
******************************************************************
*	Compute Posterior Means and STD
******************************************************************
*/
ydatam	= ydatam/smcmc;
betam		= betam/smcmc;
thetam		= reshape(meanc(thetag),rankz,rankx);
sigmam		= xpnd(meanc(sigmag));		@ xpnd reconstructs symmetric matrix @
lambdam		= xpnd(meanc(lambdag));

ydatas		= sqrt( abs(ydatas 	- smcmc*ydatam^2)/smcmc);
betas		= sqrt( abs(betas 	- smcmc*betam^2)/smcmc);
thetas		= sqrt( reshape(stdc(thetag),rankz,rankx) );
sigmas		= xpnd(stdc(sigmag));
lambdas		= xpnd(stdc(lambdag));

if flagtrue == 1;			@ Did a simulation, so we have the true utilities. 	@
	@ Get true parameters if simulation @

	load ydatat		= ydatat;
	load betat 		= betat;
	load sigmat		= sigmat;
	load thetat		= thetat;
	load lambdat	= lambdat;



	@ Pick out each dimension of Y_{ij} and compute fit statistics @
	multir	= zeros(mvar,1);
	rsquare	= zeros(mvar,1);
	stderr	= zeros(mvar,1);
	for fm (1,mvar,1); m = fm;
		ym		= ydatat[.,m];
		yhatm	= ydatam[.,m];
		cm		= corrx(ym~yhatm);
		multir[m]	= cm[1,2];
		rsquare[m]	= cm[1,2]^2;
		resid		= ym - yhatm;
		stderr[m]	= sqrt(resid'resid/ntot);
	endfor;
endif;
	

/*
****************************************************************
*	Do some output
****************************************************************
*/
call outputanal;


@ Plot saved iterations against iterations number @
t 	= seqa(nblow+skip,skip,smcmc);		@ saved iteration number @
title("Latent Error Cov vs Iteration");
xy(t,sigmag);
title("Theta vs Iteration");
xy(t,thetag);
title("Lambda vs Iteration");
xy(t,lambdag);
graphset;

@ Get ydatam ready for output @
@ Add column of 0's for base brand @
utilitym = ydatam~zeros(rows(ydatam),1);
utilitym = reshape(utilitym, nsub, nchoice*(mvar+1));

@ Get names for exporting estimated expected utilities @
c =seqa(1,1,nchoice).*.ones(mvar+1,1);  	@ Choices @
a = ones(nchoice,1).*.seqa(1,1,mvar+1);	@ Alternatives @
unames = 0 $+ "C" $+ ftocv(c,3,0) $+ "A" $+ ftocv(a,3,0);

@ Output Estimated Expected Utility = x*beta to EXCEL file: Alternatives nested in choice Sets @
ok = export(utilitym, "utility.xls", unames);
@ Output Posterior Mean of Beta @
ok = export(betam, "betaMean.xls", xnames);
@ Output Posterior STD of Beta @
ok = export(betas, "betaSTD.xls", xnames);

end;

/*
****************************************************************
* GETPROBIT
*	Does one iteration of the HB regression model.
*	INPUT
*		Global Variables
*	OUTPUT
*		Global Variables
****************************************************************
*/
PROC (0) = getprobit;
local zbl, bi, vibn, vibn12, ebin, yhat, sse, sn, resid, gni, gn, gn12, w, sum1, sum2, 
i0, i, fj, j, xij, yij, sgni, sgn, sgn12, muij, cij, ic,
v, sig11, sig11i, smigni, signi;


	/*
	*******************************************************************
	* Compute quantities used in conditional normal distribution.
	* Need to run cndcov(sigma) before generating the random utilities.
	********************************************************************
	*/
	{smigni, signi} = cndcov(sigma);
	/*
	*******************************************************************
	* smigni is a mvar x (mvar-1) matrix and 
	* used in the conditional mean of Y_{i} given Y_{not i}:  
	* smigni[i,.] = sigma_{i, not i}*sigma_{not i, not i)^{-1}
	* signi is a mvar matrix and
	* signi[i] = STD(Y_{i}| Y_{not i}) 
	*          = sqrt(sigma_{ii} - sigma_{i,not i}*sigma_{not i, not i}^{-1} sigma_{not i,i})
	******************************************************************
	*/



	/*
	********************************************************************
	* Generate Y_{ij}, the utility.
	*
	* If alternative k (k = 1, .., mvar) was selected, then
	* Y_{ij} is N(X_{ij}*beta_i, Sigma) and Y_{ij}[k] >= max(Y_{ij})
	**********************************************************************
	*/
	@ Do multiple loops of generating the Utilities for each MCMC Iteration @

	for i0 (1, nsub, 1); i = i0;
		for fj (1,nchoice,1); j = fj;
			xij		= xdata[iptx[j,1]:iptx[j,2],.];
			ic		= cdata[i,j];				@ Index of selected brand		@
			yij		= ydata[(i-1)*nchoice+j,.]';
			muij		= xij*(beta[i,.]');						@ Mean for y_{ij} 	@



			yij	= rndnigtj(yij, ic, muij, smigni, signi, nygen);
			ydata[(i-1)*nchoice+j,.] = yij';					@ store the utility				@
		endfor;
	endfor;

	/*
	***********************************************************
	* Generate beta
	* beta_i is N(mbin, vbn)
	* vbn 	= ( sum_{j=1}^{n_i} X_{ij}'Sigma^{-1} X_{ij} + Lambda^{-1} }^{-1}
	* mbin	= vbn*( sum_{j=1}^{n_i} X_{ij}'Sigma^{-1}Y_{ij} + Lambda^{-1}*Theta*Z_i)
	**********************************************************
	*/
	zbl		= zdata*theta*lambdai;
	for i0 (1, nsub,1); i = i0;
		sum1	= 0;
		sum2	= 0;
		for fj (1,nchoice,1); j = fj;
			xij		= xdata[iptx[j,1]:iptx[j,2],.];
			yij		= ydata[(i-1)*nchoice+j,.]';
			sum1	= sum1 + xij'sigmai*xij;
			sum2	= sum2 + xij'sigmai*yij;
		endfor;
		vibn		= sum1 + lambdai;
		vibn12		= chol(vibn);
		ebin		= sum2 + zbl[i,.]';
		bi			= cholsol(ebin + vibn12'rndn(rankx,1), vibn12);
		beta[i,.] 	= bi';

	endfor;

	/*
	***************************************************************
	* Generate sigma
	****************************************************************
	*/
	@ Compute SSE		@
	sse	= zeros(mvar,mvar);
	for i0 (1, nsub,1); i = i0;
		for fj (1,nchoice,1); j = fj;
			xij		= xdata[iptx[j,1]:iptx[j,2],.];
			yij		= ydata[(i-1)*nchoice+j,.]';
			resid	= yij - xij*(beta[i,.]');
			sse		= sse + resid*resid';
		endfor;
	endfor;
	sgni				= sg0i + sse;
	sgn					= invpd(sgni);
	{sigmai, sigma}     = wishart(mvar,sfn, sgn);
   
	/*
	***********************************************************
	* Generate Theta and Lambda from multivariate model:
	*	B = Z*Theta + N(0,Lambda)
	************************************************************
	*/
	{theta, lambda, lambdai} = 
	getmulreg(beta,zdata,ztz,theta,lambda,lambdai,v0i,v0iu0,f0n,g0i);

endp;


/*
****************************************************************
* GETMULREG
*	Generate multivariate regression parameters.
*		Yd		= Xd*parmat + epsilon
*	
*	INPUT
*		yd		= dependent variables
*		xd		= independet variables
*		xdtxd		= xd'xd
*		
*		parmat	= current value of coefficient matrix
*		var		= current value of covariance matrix
*		vari		= its inverse
*		v0i		= prior precisions for bmat
*		v0iu0		= prior precision*prior mean for bmat
*		f0n		= posterior df for sigma
*		g0i		= prior scaling matrix inverse for sigma

*		
*	OUTPUT
*		parmat	= updated rankx x mvar coefficient matrix

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区免费| 久久香蕉国产线看观看99| 国产二区国产一区在线观看| 亚洲777理论| 亚洲成人777| 国内精品伊人久久久久av影院| 亚洲大片在线观看| 久久精品999| av网站一区二区三区| 久久66热偷产精品| 中文字幕成人网| 亚洲va韩国va欧美va| 久久99精品国产麻豆婷婷洗澡| 极品美女销魂一区二区三区免费| 久久成人18免费观看| 成人av在线资源| 欧美精品在线一区二区三区| 久久综合久久99| 一区二区激情小说| 国产乱一区二区| 欧美日韩成人在线一区| 国产精品成人免费| 另类小说图片综合网| 欧美日韩亚洲不卡| 国产精品天美传媒沈樵| 亚洲综合清纯丝袜自拍| 亚洲一二三四久久| 99vv1com这只有精品| 精品日韩成人av| 韩国av一区二区三区在线观看| 欧美日韩在线直播| 亚洲欧美一区二区三区久本道91 | 麻豆freexxxx性91精品| 色女孩综合影院| 一区二区三区四区乱视频| 国产激情一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲夂夂婷婷色拍ww47| 欧美亚洲精品一区| 日韩精品色哟哟| 精品国产91久久久久久久妲己 | 成人欧美一区二区三区视频网页| 日韩av电影免费观看高清完整版在线观看| 99久久综合精品| 亚洲成人激情av| 日本va欧美va精品| 欧美日韩亚州综合| 久久超碰97中文字幕| 欧美mv日韩mv亚洲| 91亚洲精华国产精华精华液| 国产精品美女一区二区在线观看| 成人av在线播放网址| 亚洲韩国精品一区| 久久这里只有精品6| 91麻豆产精品久久久久久| 一卡二卡欧美日韩| 国产欧美日韩综合| 欧美电视剧免费全集观看| 成人综合在线观看| 国产精品一区二区在线播放| 亚洲制服丝袜一区| 欧美va在线播放| 欧美精品一级二级| 欧美日韩免费高清一区色橹橹| 麻豆视频一区二区| 日韩成人免费在线| 亚洲大片精品永久免费| 亚洲精品在线电影| 九九精品视频在线看| 成人免费在线播放视频| 在线观看91精品国产入口| 久久精品免费观看| 亚洲一区二区三区在线播放 | 亚洲欧洲99久久| 日韩一区二区三区在线视频| k8久久久一区二区三区| 久久国产精品无码网站| 日韩av午夜在线观看| 亚洲欧洲日产国产综合网| 亚洲精品在线观| 久久久天堂av| 国产欧美日韩三区| 国产午夜亚洲精品不卡| 精品国产一区二区三区不卡| 欧美视频三区在线播放| 亚洲综合一区二区精品导航| 欧美麻豆精品久久久久久| www.欧美亚洲| 91久久精品午夜一区二区| 国产一区在线视频| 99re8在线精品视频免费播放| 奇米影视一区二区三区| 国产精品一卡二卡在线观看| 国产酒店精品激情| 99热这里都是精品| 欧美私模裸体表演在线观看| 色哟哟亚洲精品| 99久久亚洲一区二区三区青草| eeuss国产一区二区三区| 一本一道久久a久久精品| 成人美女在线观看| 欧美视频中文字幕| 欧美一区二区免费视频| 国产日韩欧美一区二区三区乱码| 亚洲精品在线网站| 一区二区三区在线观看视频| 免费一级欧美片在线观看| 国产精品中文欧美| 精品国产一区二区三区忘忧草| 欧美精品一区二区三区蜜臀| 午夜欧美视频在线观看| 成人激情黄色小说| 久久看人人爽人人| 日韩高清不卡一区二区三区| 91猫先生在线| 亚洲日本电影在线| www.欧美色图| 国产精品伦理在线| 成人精品小蝌蚪| 国产日产亚洲精品系列| 国产99一区视频免费| 欧美精品aⅴ在线视频| 亚洲精品高清在线观看| 国产精品99久久久久久久vr| 久久综合999| 国产乱码精品一区二区三区av| 久久嫩草精品久久久精品| 韩国精品主播一区二区在线观看| 日韩一区二区三区三四区视频在线观看 | 午夜视频一区在线观看| 国产不卡视频在线观看| 国产午夜精品久久久久久久| 男人的j进女人的j一区| 欧美mv和日韩mv国产网站| 国产美女主播视频一区| 国产精品麻豆99久久久久久| 91视频国产资源| 一二三区精品福利视频| 宅男噜噜噜66一区二区66| 麻豆精品国产传媒mv男同| 欧美国产精品一区| 日韩视频免费直播| 91久久精品一区二区三区| 奇米色一区二区| 亚洲激情在线激情| 国产精品天干天干在观线| 成人美女在线视频| 久久99精品一区二区三区| 久久久不卡网国产精品二区| 91久久人澡人人添人人爽欧美| 国内精品伊人久久久久影院对白| 中文字幕一区二区三区在线播放 | 欧美电影一区二区| 日本乱码高清不卡字幕| 久久精品国产亚洲5555| 亚洲高清一区二区三区| 亚洲精品成人在线| 亚洲男帅同性gay1069| 久久久久久久久久看片| 久久久噜噜噜久噜久久综合| 欧美一区二区在线播放| 91精品国产综合久久小美女 | 欧美电视剧免费全集观看| 欧美日韩国产成人在线免费| 欧美三级日韩三级| 欧美色视频在线| 欧美一级一级性生活免费录像| 综合久久给合久久狠狠狠97色| 欧美日韩国产免费一区二区| 精品视频全国免费看| 欧美精品日韩一本| 久久久不卡网国产精品一区| 国产视频一区二区在线| 亚洲天堂久久久久久久| 亚洲一线二线三线久久久| 调教+趴+乳夹+国产+精品| 免费成人av在线| av毛片久久久久**hd| 懂色中文一区二区在线播放| 国产成人精品一区二| 在线日韩av片| 国产色爱av资源综合区| 亚洲mv大片欧洲mv大片精品| 国产成人免费视频网站| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 91在线视频免费观看| 在线日韩国产精品| 欧美精品一区二区三区在线 | 亚洲免费视频成人| 国产精品一区2区| 精品伦理精品一区| 欧美日韩免费电影| 亚洲欧美一区二区在线观看| 精品一区二区三区在线播放视频| 国产真实乱对白精彩久久| 欧美三电影在线| 玉足女爽爽91| 欧美午夜宅男影院| 日本午夜一本久久久综合| 91久久奴性调教|