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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? probit1.gss

?? gauss 離散型計量估計源代碼,直接下載下來就可以使用
?? GSS
?? 第 1 頁 / 共 2 頁
字號:
*		var		= updated variance
*		vari		= updated inverse of sigma
*
*	Calling Statement:
{parmat, var, vari} = getmulreg(yd,xd,xdtxd,parmat,var,vari,v0i,v0iu0,f0n,g0i);
****************************************************************
*/
PROC (3) = getmulreg(yd,xd,xdtxd,parmat,var,vari,v0i,v0iu0,f0n,g0i);
local vb12, ubn, par, pdim, resid, gni, gn, rp, cp;

	rp		= rows(parmat);
	cp		= cols(parmat);
	pdim	= rp*cp;

	/*
	***********************************************************
	* Generate parmat from N_{rp x cp}(M,v)
	* par = vecr(parmat)
	* par is N(u,V) whee u = vec(M');
	*	V = (Xd'Xd.*.Var^{-1} + V_0^{-1})^{-1}
	*	u = V*( (Xd'.*.Var^{-1})*vec(Yd') + V_0^{-1}u_0 )
	*************************************************************
	*/
 
	vb12	= chol(xdtxd.*.vari + v0i);
	ubn		= ( (xd').*.vari )*vecr(yd) + v0iu0;
	par		= cholsol(ubn + vb12'rndn(pdim,1), vb12);
	parmat	= reshape(par,rp,cp);

	/*
	*********************************************************
	* Generate Var
	* 	Var^{-1} is Wishart df = f0n, scale matrix = gn
	*********************************************************
	*/
	resid 			= yd - xd*parmat;
	gni				= g0i + resid'resid;
	gn  			= invpd(gni);
	{vari, var} 	= wishart(cp,f0n,gn);

retp(parmat,var,vari);
endp;


/*
*******************************************************************
* CNDCOV
* Generates some quantities used in computing conditional normal distribtions.
* INPUT:
*	sigma	= Cov(Y)
*
* OUPUT:
*	smigni	= used in E(Y_i|Y_{not i}).
*	signi	= STD(Y_i |Y_{not i}).
*
* smigni is a mvar x mvar-1 matrix and 
* smigni[i,.] = sigma_{i, not i}*sigma_{not i, not i)^{-1}
* signi is a mvar vector and
* signi[i] = 
* sqrt(sigma_{ii} - sigma_{i,not i}*sigma_{not i, not i}^{-1} sigma_{not i,i})
******************************************************************
*/
PROC (2) = cndcov(sigma);
local smigni, signi, sqmvar, ei, einot, s2noti, sinoti, s2notii, i0, i;

sqmvar	= seqa(1,1,mvar);
smigni	= zeros(mvar,mvar-1);		@ Sigma_{ij}*Sigma_{jj}^{-1}	@
@ smuigj is used in computing mean of i given not i					@
signi	= zeros(mvar,1);			@ sigma_{ii} - sigma_{ij}*Sigma_{jj}^{-1}*sigma_{ji} @
@ signi is STD of Y[i] given not i @
for i0 (1,mvar,1); i = i0;
	ei		= sqmvar .== i;			@ ei[i] = 1, and ei[j] = 0 for j /= i 				@
	einot	= 1 - ei;				@ einot[i] = 0, and einot[j] = 1 for j /= i			@
	@ selif(x,e) selects rows of x with e[j] = 1 @
	s2noti	= selif( selif(sigma,einot)',einot)';	
	@ s2noti = sigma[j,k] with j \= i and k \= i @
	sinoti	= selif( selif(sigma',ei)',einot);
	@ sinoti is the ith column of sigma with the ith row removed @

	s2notii	= invpd(s2noti);
	smigni[i,.]	= sinoti's2notii;
	signi[i]	= sqrt(sigma[i,i] - smigni[i,.]*sinoti);
endfor;
retp(smigni, signi);
endp;		

/*
********************************************************************
* RNDNIGTJ.GSS
*	Generate a vector normal where the ith elememt is greater than
*	the rest.
*	INPUT
*		Y		= current value of  Y form MCMC Iterations
*		IPICK	= which component is greater than the rest, and zero
*		mu		= mean vector
*		smigni	= used in computing mean of y[i] given not y[i].
*		signi	= std of y[i] given not y[i].
		nygen	= number of generations before returning random utility.
*	OUTPUT
*		Y		= mvar vector where Y[i] > max( Y[j]  for j not equal to i )
*********************************************************************************
*/

PROC rndnigtj(y,ipick,mu, smigni, signi, nygen);
local mvar, sqmvar,ei,einot,munoti,ynoti, 
mui, sii, ybot,ytop,yi, i, fori, j, fj ;

mvar 	= rows(mu);					@ Dimension of problem					@
sqmvar	= seqa(1,1,mvar);

for fj (1, nygen, 1); j = fj;		@ Do muliple loops of generating Y					@
for fori (1,mvar,1); i = fori;
	ei		= sqmvar .== i;			@ ei[i] = 1, and ei[j] = 0 for j /= i 				@
	einot	= 1 - ei;				@ einot[i] = 0, and einot[j] = 1 for j /= i			@

	@ selif(x,e) selects rows of x with e[j] = 1 @
	ynoti	= selif(y,einot);		@ mvar - 1 vector that does not have y[i]			@
	munoti	= selif(mu,einot);		@ munoti is mvar-1 vector that does not have mu[i] 	@

	mui		= mu[i] + smigni[i,.]*(ynoti - munoti);
	sii		= signi[i];		@ STD of y[i] given rest @
	if i == ipick;			@ i is the selected choice, yi > max(yj,0)@
		ybot		= maxc(ynoti|0);
		y[i]		= rndtnb(mui,sii,ybot);	
		@ generates a random normal, trucnated below (in plrand.src) @
		@ rndtnb(mu,std,bot): mu = vector or means, std = vector of STD, bot = lower limit @
	else;					@ i was not selected 	@
		if ipick <= mvar;
			ytop		= maxc(y[ipick]);				@ Maximum element @
		else;		@ Base brand mvar+1 selectd, so y < 0 @
			ytop		= 0;
		endif;
		y[i]		= rndtna(mui,sii,ytop);
		@ generates a random normal, truncated above (in plrand.src) @
		@ rndtna(mu,std,top): mu = vector of mean, std = vector of STD, top = upper limit @
	endif;		
endfor;		@ End loop over generating one Y vector 	@
endfor;		@ End loop over generating nygen Y vectors 	@	
retp(y);
endp;




/*
*****************************************************************************************************
*  OUTPUTANAL
*	Does analysis of output and save some results 
****************************************************************************************************
*/
PROC (0) = outputanal;
format 10,5;
local  bout, sout, ebeta, sbeta, cb, rmse, fmts1,fmts2, fmtn1, fmtn2, a,b, flag, i0, i;



let fmtn1[1,3]	= "*.*lf" 10 5;			@ Format for printing numeric variable 		@
let fmtn2[1,3]	= "*.*lf" 10  0;		@ Format for numeric variable, no decimal	@

let fmts1[1,3]	= "-*.*s" 10 9;			@ Format for alpha, left justify		 	@
let fmts2[1,3]  = "*.*s" 10 9;			@ Format for alpha, right justify		  	@
format 10,5;							@ Default pring format						@


output file = ^outfile reset;	@ outfile is the file handle for the output file 	@
								@ Route printed output to the defined by outfile 	@
print "Results from PROBIT1.GSS";
print "Hierarchical Bayes Multivariate Probit";
print;
print "Select one of mvar+1 alternatives.";
print "Alternative mvar+1 is the base alternative.";
print "Observe choice k if Y_{ij}[k] >= max(Y_{ij},0).";
print "Choose base if all the y's < 0.";
print;
print "Latent Utility Model:";
print "Y_{ij} = X_{ij}*beta_i + epsilon_{ij}";
print "Y_{ij} is a mvar vector";
print "epsilon_{ij} is N(0,Sigma).";
print "Identification: sigma[mvar,mvar] = 1";
print;
print "beta_i = Theta'z_i + delta_i";
print "delta_i is N(0, Lambda)";
print;
print "Ouput file: " getpath(outfile);		@ File assigned to file handle outfile @
datestr(date);								@ Print the current data				@
print;
print;
print "-----------------------------------------------------------------------------------";
print;
print "MCMC Analysis";
print;
print "Total number of MCMC iterations           	 = " nmcmc;
print "Number of iterations used in the analysis 	 = " smcmc;
print "Number in transition period               	 = " nblow;
print "Number of iterations between saved iterations = " skip-1;
print;
print "-----------------------------------------------------------------------------------";
print "Number of subjects	                = " nsub;
print "Number of observations per subject = " nchoice;
print;
print "Total number of Y observations     = " ntot;
print "Dimension of Y_{ij}                = " mvar;
print "Number of alternatives             = " mvar+1;
print "Number of dependent variables X    = " rankx " (including intercept)";
print "Number of dependent variables Z    = " rankz " (including intercept)";
print;
print;
print "First level equation for Latent Utilities";
print "Y_{ij} = X_{ij}*beta_i + epsilon_{ij}";
print;
print "		Summary Statistics for X";
call sumstats(xnames,xdata,fmts1,fmts2,fmtn1);
print;
print "Second level equation:";
print "beta_i = Theta'z_i + delta_i";
print;
print "		Summary Statistis for Z:";
call sumstats(znames,zdata,fmts1,fmts2,fmtn1);
print;


if flagtrue == 1;		@ Print some fit for utilities @
	print "-----------------------------------------------------------------------------------";
	print "Fit between true and estimated utilities for each dimension.";
	sout	= {"Variable" "Multi-R" "R-Sqr" "ErrorSTD"};
	call outitle(sout,fmts1,fmts2);
	bout	= ynames~multir~rsquare~stderr;
	call outmat(bout,fmts1,fmtn1);
endif;
print "-----------------------------------------------------------------------------------";
print;
print "Statistics for Individual-Level Regression Coefficients";
if flagtrue == 1;
	ebeta	= meanc(betat);
	sbeta	= stdc(betat);
	print "True Beta";
	sout	= {"Variable" "Mean" "STD"};
	call outitle(sout,fmts1,fmts2);
	bout = xnames~ebeta~sbeta;
	call outmat(bout,fmts1,fmtn1);
endif;

print "HB Estimates of Beta";
sout	= {"Variable" "PostMean" "PostSTD" };
call outitle(sout,fmts1,fmts2);
ebeta	= meanc(betam);
sbeta	= sqrt( meanc( (betas^2)) + stdc( betam)^2);
bout = xnames~ebeta~sbeta;
call outmat(bout,fmts1,fmtn1);
print;
print "-----------------------------------------------------------------------------------";

if flagtrue == 1;
	print "Comparison of True Beta to Individual Level Estimates";
	for i0 (1,rankx,1); i = i0;
		print "Variable " $ xnames[i];
		cb 		= corrx( betat[.,i]~betam[.,i] );
		rmse 	= betat[.,i] - betam[.,i];
		rmse	= rmse'rmse;
		rmse	= sqrt(rmse/nsub);
		print "Correlation between true and HB  = " cb[1,2];
		print "RMSE between true and HB         = " rmse;
		print;
	endfor;
endif;
print "-----------------------------------------------------------------------------------";
print "Estimation of the error covariance Sigam";
sout	= "   "~(ynames');

if flagtrue == 1;
	print "True Sigma";
	call outitle(sout,fmts1,fmts2);
	bout	= ynames~sigmat;
	call outmat(bout,fmts1,fmtn1);
	print;
endif; 
print;
print "Posterior Mean of Sigma";
call outitle(sout,fmts1,fmts2);
bout	= ynames~sigmam;
call outmat(bout,fmts1,fmtn1);
print;
print "Posterior STD  of Sigma";
call outitle(sout,fmts1,fmts2);
bout	= ynames~sigmas;
call outmat(bout,fmts1,fmtn1);
print;
print "-----------------------------------------------------------------------------------";
print;
print "HB Estimates of Theta";
sout	= "  "~(xnames');
if flagtrue == 1;
	print "True Theta";
	call outitle(sout,fmts1,fmts2);
	bout = znames~thetat;
	call outmat(bout,fmts1,fmtn1);
	print;
endif;
print "Posterior Mean of Theta";
print outitle(sout,fmts1,fmts2);
bout = znames~thetam;
call outmat(bout,fmts1,fmtn1);
print;
print "Posterior STD of Theta";
call outitle(sout,fmts1,fmts2);
bout	= znames~thetas;
call outmat(bout,fmts1,fmtn1);
print;
print "-----------------------------------------------------------------------------------";
print;
sout = "  "~(xnames');
print "HB Estimate of Lambda";
if flagtrue == 1;
	print "True Lambda";
	call outitle(sout,fmts1,fmts2);
	bout = xnames~lambdat;
	call outmat(bout,fmts1,fmtn1);
	print;
endif;
print "Posterior Mean of Lambda";
call outitle(sout,fmts1,fmts2);
bout = xnames~lambdam;
call outmat(bout,fmts1,fmtn1);
print;
print "Posterior STD of Lambda";
call outitle(sout,fmts1,fmts2);
bout = xnames~lambdas;
call outmat(bout,fmts1,fmtn1);
print;
print "===================================================================================";



output off;
closeall;
endp;


/*
****************************************************************************
*  TR(X)
*  Compute the trace of X. Functional call (FN). 
***************************************************************************
*/
fn tr(x) = sumc(diag(x));



/*
*****************************************************************************************
* OUTITLE
*	Prints header for columns of numbers.
*	INPUT
*		a 	= character row vector of column names
*		fmts1	= format for first column
*		fmts2	= format for second column
*	OUTPUT
*		None
******************************************************************************************
*/
PROC (0) = outitle(a,fmt1,fmt2);
local mask, fmt, flag, ncols;
ncols	= cols(a);
mask	= zeros(1,ncols);
fmt		= fmt1|(ones(ncols-1,1).*.fmt2);
flag	= printfm(a,mask,fmt);
print;
endp;
/*
***************************************************************************************
* OUTMAT
*	Outputs a matrix:
*	(Character Vector)~(Numeric matrix);
*	The entries in the numeric matrix have the same format
*	INPUT
*		bout		= matrix to be printed
*		fmts		= format for string
*		fmtn		= format for numeric matrix
*	OUTPUT
*		None
******************************************************************************************
*/
PROC (0) = outmat(bout,fmts,fmtn);
local fmt,mask,flag,ncols, nrows;
ncols		= cols(bout);
nrows		= rows(bout);
fmt			= fmts|(ones(ncols-1,1).*.fmtn);
mask		= zeros(nrows,1)~ones(nrows,ncols-1);
flag		= printfm(bout,mask,fmt);
print;
endp;

/*
*****************************************************************************************
* SUMSTATS
*	Prints summary statistics for a data matrix
*	INPUT
*		names		= charater vector of names
*		data		= data matrix
*		fmts1		= format for string
*		fmts2		= format for string
*		fmtn		= format for numbers
*	OUTPUT
*		None
********************************************************************************************
*/
PROC (0) = sumstats(names,data,fmts1,fmts2,fmtn);
local a, bout;
a	= {"Variable" "Mean" "STD" "MIN" "MAX"};
call outitle(a,fmts1,fmts2);
bout	= names~meanc(data)~stdc(data)~minc(data)~maxc(data);
call outmat(bout,fmts1,fmtn);
endp;





?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜三级在线| 亚洲高清免费观看| 久久久蜜桃精品| 久久网站最新地址| 国产无人区一区二区三区| 欧美激情在线一区二区| 国产精品黄色在线观看| 亚洲欧美视频在线观看视频| 亚洲精品免费在线| 日本不卡不码高清免费观看| 美女视频一区二区| 成人理论电影网| 在线视频一区二区三| 制服丝袜在线91| 精品国产第一区二区三区观看体验 | 91丨九色丨蝌蚪富婆spa| 97久久超碰国产精品| 欧美三级电影在线观看| 3d成人h动漫网站入口| 精品国产乱码久久久久久老虎| 日本一区二区在线不卡| 亚洲精品欧美在线| 蜜臀久久99精品久久久久宅男| 精品一区二区三区影院在线午夜| 国产丶欧美丶日本不卡视频| 91在线丨porny丨国产| 91.com视频| 中文字幕在线播放不卡一区| 日本中文字幕一区二区有限公司| 国产盗摄精品一区二区三区在线| 91精品福利视频| 久久午夜老司机| 亚洲午夜精品在线| 国产成人丝袜美腿| 欧美伦理影视网| 中文字幕乱码亚洲精品一区| 天堂久久久久va久久久久| 国产自产高清不卡| 欧美日韩在线综合| 国产精品久久久久久妇女6080| 日韩av一级片| 一本在线高清不卡dvd| 欧美videossexotv100| 亚洲精品伦理在线| 国产伦精一区二区三区| 欧美另类高清zo欧美| 国产精品久久二区二区| 狠狠久久亚洲欧美| 宅男在线国产精品| 99国产精品一区| 欧美在线制服丝袜| 久久久三级国产网站| 亚洲自拍偷拍九九九| 成人免费观看av| 欧美哺乳videos| 亚洲一级在线观看| 97久久人人超碰| 久久影院视频免费| 久久国产精品99久久久久久老狼 | 精品日韩成人av| 亚洲欧洲精品一区二区精品久久久| 青青草国产精品亚洲专区无| 欧美性受xxxx| 亚洲激情五月婷婷| 色综合欧美在线| 国产精品久久久久天堂| 成人精品视频.| 国产日韩亚洲欧美综合| 国产一区二区三区电影在线观看| 欧美精选一区二区| 偷拍与自拍一区| 91精品国产色综合久久久蜜香臀| 香蕉成人啪国产精品视频综合网| 欧美性xxxxxxxx| 三级欧美在线一区| 91精品国产综合久久久蜜臀粉嫩 | 国产高清久久久| 久久人人爽爽爽人久久久| 狠狠色丁香婷综合久久| 久久在线观看免费| 成人激情黄色小说| 亚洲欧美区自拍先锋| 欧美日韩亚洲综合一区二区三区| 亚洲一区二区偷拍精品| 911精品产国品一二三产区| 丝袜美腿亚洲一区二区图片| 日韩欧美一二三| 国产成a人亚洲| 亚洲激情图片一区| 91精品国产乱码| 国产另类ts人妖一区二区| 欧美韩日一区二区三区四区| fc2成人免费人成在线观看播放| 亚洲欧美日韩电影| 制服视频三区第一页精品| 国产一区日韩二区欧美三区| 亚洲欧洲一区二区三区| 欧美高清精品3d| 国产精品一二三在| 亚洲最大成人网4388xx| 日韩欧美国产电影| av高清久久久| 麻豆91在线观看| 中文字幕在线不卡一区| 91麻豆精品国产91久久久使用方法| 久久成人18免费观看| 亚洲欧洲av色图| 日韩色视频在线观看| 91在线国产福利| 日本va欧美va瓶| 亚洲天堂精品在线观看| 日韩无一区二区| 91麻豆产精品久久久久久| 久久成人精品无人区| 亚洲精品中文字幕乱码三区| 久久只精品国产| 欧美三级视频在线播放| av电影在线观看不卡| 久久精工是国产品牌吗| 一区二区高清在线| 国产视频一区在线播放| 欧美一级国产精品| 色婷婷av一区二区三区gif| 国产成人精品免费网站| 蜜桃视频第一区免费观看| 亚洲精品亚洲人成人网在线播放| 久久精品亚洲精品国产欧美kt∨| 欧美日韩美少妇| 97精品国产97久久久久久久久久久久| 久久福利资源站| 日本系列欧美系列| 亚洲成在人线在线播放| 亚洲免费在线观看| 国产亚洲视频系列| 亚洲精品一区二区三区精华液| 欧美丝袜丝交足nylons图片| 91在线免费播放| 成人动漫一区二区| 成人精品国产一区二区4080| 国模大尺度一区二区三区| 日韩在线播放一区二区| 丝袜a∨在线一区二区三区不卡| 亚洲欧美另类小说| 综合电影一区二区三区| 综合久久久久久| 一区二区三区在线免费观看| 亚洲欧美日韩在线不卡| 亚洲人精品一区| 亚洲综合久久久| 亚洲国产欧美在线| 亚洲成精国产精品女| 日韩黄色免费电影| 男人的j进女人的j一区| 蜜臀久久久久久久| 精品一区在线看| 国产精品99久久久久久久女警| 国产成人在线免费观看| 成人小视频在线观看| 99在线精品一区二区三区| 91视频在线看| 在线观看欧美日本| 欧美理论在线播放| 日韩欧美在线影院| 久久老女人爱爱| 中文字幕一区日韩精品欧美| 亚洲精品乱码久久久久久日本蜜臀| 亚洲一区在线免费观看| 免费精品99久久国产综合精品| 国产综合色产在线精品| 成人伦理片在线| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美乱妇20p| 国产欧美日韩麻豆91| 亚洲一区二区在线视频| 美国一区二区三区在线播放| 国产精品一线二线三线| 欧洲精品中文字幕| 精品久久久久久久久久久久久久久| 国产日产亚洲精品系列| 一区二区三区在线高清| 久久99国产精品尤物| 99久久综合色| 欧美一激情一区二区三区| 国产精品剧情在线亚洲| 亚洲国产精品一区二区久久恐怖片| 亚洲.国产.中文慕字在线| 国产在线播放一区三区四| 色综合视频在线观看| 日韩一区二区高清| 亚洲欧洲性图库| 精品一区二区三区的国产在线播放| 91在线精品一区二区| 26uuu亚洲综合色| 亚洲成人手机在线| 成人aaaa免费全部观看| 26uuu精品一区二区在线观看| 一区二区三区免费观看| 成人综合激情网| 日韩欧美一二三区| 午夜精品国产更新|