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

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

?? hbreg2s.gss

?? gauss 離散型計量估計源代碼,直接下載下來就可以使用
?? GSS
?? 第 1 頁 / 共 2 頁
字號:
/*
************************************************************************
*   (C) Copyright 1999, Peter Lenk. All Rights Reserved.
*	HBREG2.GSS
*	HBREG2S.GSS is designed as a learning program.
*	Search for @@@@ to find missing code.
*	HB Linear Regression Model.
*	Allows for subject level design matrices.
*	
*		Y_i = X_i*beta_i + epsilon_i for i = 1,..., nsub
*		epsilon_i is N(0,sigma^2 I)
*
*		beta_i = Theta'z_i + delta_i
*		delta_i is N(0,Lambda)
*		B		= Z*Theta + Delta
*
*	PRIORS
*		sigma^2 is Inverted Gamma(r0/2,s0/2)
*		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		= "result.res";		@ Specify output file for saving results 					@
								@ outfile is a string variable that contains a file name 	@
inxy 		= "xydata";			@ Name of Gauss file with X,Y data							@
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					@

/*
********************************************************************
*	Get data
********************************************************************
*/
@ Input Gauss files @
open f1 	= ^inxy;	@ Get Gauss file for X, Y data 				@
				@ Opens Gauss file & assigns file handle f1 @
xydata		= readr(f1,rowsf(f1));		
			@ readr reads in Gauss file with file handle f1.			@
			@ rowsf(f1) returns the number of rows in the Gauss file. 	@
			@ readr reads rowsf(f1) rows, which is the entir dataset.	@
ci		= close(f1);
xynames		= setvars(inxy);			@ Get the variable names that accompnay X, Y data @
ynames		= xynames[rows(xynames)];	
xnames		= "CS"|xynames[1:rows(xynames)-1];

@ Last row of xydata is Y. @
xdata		= xydata[.,1:cols(xydata)-1];		@ Get independent variables 	@
ydata		= xydata[.,cols(xydata)];		@ Get dependent variable	@

open f1		= ^inz;
zdata		= readr(f1,rowsf(f1));	
ci		= close(f1);
znames		= setvars(inz);
znames		= "CS"|znames;

loadm	yrows	= yrows;	@ yrows gives the number of observations per subject @
nsub	= rows(yrows);		@ Number of subjects. @
ntot	= sumc(yrows);		@ Total number of observations. @
@ Create pointer based on yrows to access xdata and ydata @
b	= cumsumc(yrows);	@ cumsumc is the cumulative sum of yrows @
a	= 1|(1+b[1:nsub-1]);
iptxy	= a~b;
@ To use iptxy to get the design matrix and data for subject i: @
@ x_i = xdata[iptxy[i,1]:iptxy[i,2],.] @
@ y_i = ydata[iptxy[i,1]:iptxy[i,2]] @

xdim	= cols(xdata);
zdim	= cols(zdata);
@ add intercepts to xdata and zdata @
xdata 	= ones(ntot,1)~xdata;
zdata	= ones(nsub,1)~zdata;
rankx	= cols(xdata);
rankz	= cols(zdata);
thdim	= rankx*rankz;		@ dimension of vec(theta) @

@ Compute some sufficient statistics @
@ Get point to access stacked matrices of xtx, xtxi, and xty @
b	= seqa(rankx,rankx,nsub);
a	= 1|(1+b[1:nsub-1]);
iptxt	= a~b;
bpool	= invpd(xdata'xdata)*xdata'ydata;
xtx		= zeros(rankx*nsub,rankx);
xty		= zeros(rankx*nsub,1);
bhat	= zeros(nsub,rankx);		@ MLE of beta_i @
sse	= 0;
for i0 (1,nsub,1);	i = i0;
	xi	= xdata[iptxy[i,1]:iptxy[i,2],.];
	yi	= ydata[iptxy[i,1]:iptxy[i,2],.];
	xitxi	= xi'xi;
	xityi	= xi'yi;
	xtx[iptxt[i,1]:iptxt[i,2],.] = xitxi;
	xty[iptxt[i,1]:iptxt[i,2],.] = xityi;
	if rank(xitxi) >= rankx;		@ Got an inverse @
		xitxii	= invpd(xitxi);
		bhat[i,.] = (xitxii*xityi)';
	else;							@ Use the pooled estimate @
		bhat[i,.] = bpool';
	endif;
	resid	= yi - xi*(bhat[i,.]');
	sse	= sse + resid'resid;
endfor;
s2hat	= sse/ntot;		@ MLE of sigma2 @
sighat	= sqrt(s2hat);
ztz	= zdata'zdata;



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

@ Prior for sigma2 is IG(r0/2, s0/2) @
r0 	= 2; s0 = 2;
rn 	= r0 + ntot;


@ 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*vec(u0);          @ used in updating theta @

@ 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
******************************************************************
*/

beta 	= zeros(nsub, rankx);
sigma 	= 1;
sigma2	= s2hat;
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 	@
sigmag	= zeros(smcmc,1);
thetag	= zeros(smcmc,thdim);
c	= rankx*(rankx+1)/2;
lambdag = zeros(smcmc,c);	@ save unique elements of lambda @


/*
********************************************************************
*	Do MCMC
********************************************************************
*/
@ Do the initial transition period @
for i1 (1,nblow,1);	imcmc = i1;
	call gethbreg;
endfor;

for i1 (1,smcmc,1);	imcmc = i1;		@ Save smcmc iterations 			@
	for i2 (1,skip,1); jmcmc = i2;		@ Save every skip iterations 	@
		call gethbreg;
	endfor;
	sigmag[imcmc]		= sigma;
	thetag[imcmc,.]		= vecr(theta)';
	betam				= betam + beta;
	betas				= betas + beta^2;
	lambdag[imcmc,.]	= vech(lambda)'; @ vech gets unique elements of symmetric matrix @
endfor;


/*
******************************************************************
*	Compute Posterior Means and STD
******************************************************************
*/
@ Compute Posterior Means @
betam		= betam/smcmc;
sigmam		= meanc(sigmag);
thetam		= meanc(thetag);
thetam		= reshape(thetam,rankz,rankx);
lambdam		= xpnd(meanc(lambdag));	@ xpnd is opposite of vech @

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

@ Predict yi @
yhhb	= zeros(ntot,1);
yhml	= yhhb;
for i0 (1, nsub, 1); i = i0;
	xi	= xdata[iptxy[i,1]:iptxy[i,2],.];
	yhhb[iptxy[i,1]:iptxy[i,2]] = xi*(betam[i,.]');
	yhml[iptxy[i,1]:iptxy[i,2]] = xi*(bhat[i,.]');
endfor;
cr		= corrx(ydata~yhhb);
hbr		= cr[1,2];
estd	= ydata - yhhb;
estd	= sqrt(estd'estd/ntot);
cr		= corrx(ydata~yhml);
mlr		= cr[1,2];
estdml 	=  ydata - yhml;
estdml 	= sqrt(estdml'estdml/ntot);


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


@ Plot saved iterations against iterations number @
t 	= seqa(nblow+skip,skip,smcmc);		@ saved iteration number @
title("Error STD versus Iteration");
xy(t,sigmag);
title("Theta versus Iteration");
xy(t,thetag);
title("Lambda versus Iteration");
xy(t,lambdag);
title("MLE & HB for " $+ xnames[2]$+ " versus " $+ xnames[1]);
_plctrl = -1;
xy(bhat[.,1]~betam[.,1],bhat[.,2]~betam[.,2]);
graphset;			@ Return to default settings @


end;

/*
****************************************************************
* GETHBREG
*	Does one iteration of the HB regression model.
*	INPUT
*		Global Variables
*	OUTPUT
*		Global Variables
****************************************************************
*/
PROC (0) = gethbreg;
local vibn, vibn12, ebin, yhat, sse, sn, resid, gni, gn, gn12, w, i0, i, limub, yhati,
betai;


	/*
	***********************************************************
	* Generate beta
	* beta_i is N(mbin, vbn)
	* vbn 	= ( X_i'X_i/sigma2 + Lambda^{-1} }^{-1}
	* mbin	= vbn*( X_i'Y_i/sigma2 + Lambda^{-1}*Theta*Z_i)
	**********************************************************
	*/
	sse	= 0;
	for i0 (1,nsub,1); i = i0;
@@@@
	endfor;

	/*
	***************************************************************
	* Generate sigma2
	* sigma2 is IG(rn/2, sn/2)
	* rn = r0 + ntot
	* sn = s0 + sum_{i=1}^{nsub} (Y_i - X*beta_i)'(Y_i - X*beta_i)
	****************************************************************
	*/
	sn		= s0 + sse;
	sigma2	= sn/(2*rndgam(1,1,rn/2)); 
	sigma	= sqrt(sigma2);

	/*
	***********************************************************
	* 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
*		var		= updated variance

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精的特点| 国产精品激情偷乱一区二区∴| 国模无码大尺度一区二区三区| 自拍偷自拍亚洲精品播放| 久久精品一区二区| 精品久久人人做人人爰| 欧美一区二区三区四区久久| 欧美视频一区二| 日本精品视频一区二区| 在线精品视频免费观看| 在线成人av网站| 欧美videos中文字幕| 一区二区三区日本| 日韩经典一区二区| 蜜臂av日日欢夜夜爽一区| 美女一区二区久久| 欧美午夜视频网站| 夜夜亚洲天天久久| 91在线视频观看| 欧美日本视频在线| 久久久久久综合| 亚洲欧美日韩系列| 欧美aaa在线| 成人一道本在线| 色一情一乱一乱一91av| 欧美高清精品3d| 天堂va蜜桃一区二区三区| 色婷婷激情一区二区三区| 亚洲免费观看高清| 91麻豆免费看片| 欧美一级午夜免费电影| 日韩精品福利网| 在线不卡中文字幕播放| 蜜臀精品一区二区三区在线观看 | 丰满白嫩尤物一区二区| 91国产精品成人| 亚洲激情图片qvod| 在线观看欧美黄色| 三级亚洲高清视频| 日韩视频免费直播| 成人免费在线观看入口| 久久99精品久久久久| 欧亚洲嫩模精品一区三区| 一区二区三区四区高清精品免费观看| 91麻豆免费观看| 一区二区激情小说| 欧美男男青年gay1069videost | 欧美日韩国产色站一区二区三区| 亚洲综合在线免费观看| 在线播放91灌醉迷j高跟美女| 国产精品久久毛片| 色狠狠av一区二区三区| 日韩av电影一区| 欧美日韩一区精品| 成人免费视频在线观看| 日本精品裸体写真集在线观看| 亚洲午夜在线电影| 99久久免费精品高清特色大片| 亚洲欧美色一区| 日韩午夜电影av| 波多野结衣中文一区| 91亚洲国产成人精品一区二区三 | 日韩不卡免费视频| 国产人妖乱国产精品人妖| 日韩精品电影一区亚洲| 久久亚洲捆绑美女| 国产在线看一区| 亚洲精品国产成人久久av盗摄| 91超碰这里只有精品国产| 国产一区二区三区四区五区美女| 91精品国产综合久久久久久| 国产精品一区二区在线看| 久久综合色天天久久综合图片| 成人禁用看黄a在线| 日韩和欧美的一区| 成人免费在线播放视频| 日韩三级视频中文字幕| 色视频一区二区| 国内久久精品视频| 三级亚洲高清视频| 亚洲免费在线播放| 久久久久久久久99精品| 欧美精品一卡二卡| 不卡欧美aaaaa| 国产精品一区2区| 蜜臀av性久久久久av蜜臀妖精| 国产精品国产自产拍高清av| 日韩欧美国产麻豆| 国产高清不卡二三区| 中文字幕免费在线观看视频一区| 国产91综合网| 免费成人性网站| 婷婷综合在线观看| 久久久久久久一区| 日韩一级大片在线| 欧美婷婷六月丁香综合色| jlzzjlzz亚洲女人18| 国产激情一区二区三区| 看电影不卡的网站| 中文一区在线播放| 精品国产123| 91丨porny丨蝌蚪视频| 国产精品一区二区在线观看不卡| 日韩成人dvd| 天天综合日日夜夜精品| 亚洲小说欧美激情另类| 洋洋av久久久久久久一区| 国产精品久久久久久久久晋中 | 天天综合日日夜夜精品| 亚洲一区欧美一区| 久久综合精品国产一区二区三区| 欧美日本在线观看| 欧美精品高清视频| 9191久久久久久久久久久| 欧美日韩另类一区| 欧美三级日韩三级| 在线观看亚洲a| 欧美午夜寂寞影院| 欧美日韩久久一区二区| 欧美日韩激情一区| 日韩欧美精品在线| 精品久久久久香蕉网| 久久精子c满五个校花| 中文字幕精品一区二区精品绿巨人| 亚洲精品一区二区三区蜜桃下载 | 欧美极品美女视频| 亚洲欧洲国产日本综合| 亚洲女人****多毛耸耸8| 一区二区三区在线免费观看 | 韩国理伦片一区二区三区在线播放| 久久99精品久久久| 国产福利91精品一区二区三区| 成人午夜av电影| 色综合久久久久网| 91精品在线免费观看| 精品国产1区二区| 中文字幕一区二区三区视频 | 337p亚洲精品色噜噜狠狠| 欧美欧美午夜aⅴ在线观看| 7878成人国产在线观看| 欧美精品一区二区在线播放| 欧美国产综合一区二区| 亚洲免费资源在线播放| 老司机精品视频线观看86| 国产成人免费在线| 色呦呦国产精品| 欧美成人欧美edvon| 亚洲欧美色综合| 久久99精品国产麻豆婷婷洗澡| 成人精品视频一区二区三区| 欧美性淫爽ww久久久久无| 精品国产一区二区三区不卡| 最新久久zyz资源站| 午夜精品福利一区二区三区av | 精品无人码麻豆乱码1区2区| 懂色一区二区三区免费观看| 欧美综合一区二区| 久久在线观看免费| 亚洲永久精品大片| 国产成人亚洲综合a∨婷婷| 欧美写真视频网站| 欧美激情一区不卡| 日本三级韩国三级欧美三级| www.欧美色图| 337p日本欧洲亚洲大胆精品| 亚洲最色的网站| 懂色av噜噜一区二区三区av| 欧美精品免费视频| 亚洲精选免费视频| 国产69精品久久99不卡| 日韩欧美123| 亚州成人在线电影| 日本不卡一区二区三区高清视频| gogogo免费视频观看亚洲一| 日韩一区二区精品在线观看| 一区二区欧美国产| 成人av资源网站| 精品电影一区二区| 日本不卡免费在线视频| 欧美日韩精品高清| 一区二区三区欧美日韩| 99在线精品一区二区三区| 精品电影一区二区| 久久精品国产一区二区三| 成人黄色av电影| 国产乱码精品一区二区三| 91精品国产综合久久香蕉的特点 | 久久久久久久久久久久久久久99| 一级女性全黄久久生活片免费| 国产毛片精品视频| 欧美成人a视频| 日韩精品欧美精品| 制服丝袜亚洲精品中文字幕| 天堂va蜜桃一区二区三区| 欧美日韩一区二区三区视频| 亚洲高清视频的网址| 欧美日韩黄色一区二区| 亚洲午夜精品网| 欧美体内she精高潮| 午夜精品久久久久影视|