## Merging coefficient in series (Updated) - Not correct mean

For questions regarding programming in the EViews programming language.

Moderators: EViews Gareth, EViews Jason, EViews Moderator, EViews Matt

phoenix1914
Posts: 5
Joined: Sat Nov 17, 2018 1:48 pm

### Merging coefficient in series (Updated) - Not correct mean

Hello all

I am new to programming with Eviews 10 so I am struggling a bit with the following case. I managed to create a script to run a monte carlo simulation, in order to "prove" the assumptions of OLS estimators. More specifically I use a population function with two given coefficients (slope and intercept) and 10 given values of the independent variable (X). Also with the following script I create 20 different disturbance term (u) values, with mean zero and variance 4.

Based on the above I obtain 20 different fitted values (y) which then I regress on X, from where I get 20 OLS lines and 20 pairs of coefficients.

What I want is , if there is a quick way to merge all different pairs of coefficients in a series so I can then calculate their means and variances etc? Also can I have a series where it stores the variances of its of the OLS equations? Currently I only have 20 different equations and 20 different coefficient variables with two values each.

EDIT:

I managed to find formulas to store the coefficients and the variance of the residual (which I post below).

Now I have another issue. Based on the experiment, the variance of the residuals based on the different iterations should approximately be close to the "real" value, but when I check the stored values of the object "sevec" which stores the variances of the residuals of each run, the mean value is always 1 less than the actual. E.g. in the code below I want a disturbance term with mean 0 and variance 4, but I get approximately variance 3 even if i run more than 100 iterations.

Is there an error in the formula: series u{!i} = 0 + @sqrt(4)*nrnd ?

Code: Select all

`scalar iterations = 51matrix(2,iterations) mycoefsvector(iterations) sevecfor !i=1 to iterations   series u{!i} = 0 + @sqrt(4)*nrnd   series y{!i} = b1_c + b2_c* x + u{!i}   equation eq{!i}.ls y{!i} c x   coef c{!i} = c   colplace(mycoefs, eq{!i}.@coefs, !i)   sevec(!i) =  (@stdev(resid))^2nextmatrix mycoefs = @transpose(mycoefs)`

Thank you in advance!

EViews Matt
EViews Developer
Posts: 356
Joined: Thu Apr 25, 2013 7:48 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

Hello,

I believe you're just observing the consequences of a small sample size. Try increasing the number of points from 10 to, say, 100.

startz
Non-normality and collinearity are NOT problems!
Posts: 3443
Joined: Wed Sep 17, 2008 2:25 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

EViews Matt wrote:Hello,

I believe you're just observing the consequences of a small sample size. Try increasing the number of points from 10 to, say, 100.

Hi Matt,

I don't think this is right. Given normal errors and fixed X, E(s^2) is exact in small samples.

There is another possibility: It may be that more Monte Carlos are needed for the mean of s^2 to be estimated well.

startz
Non-normality and collinearity are NOT problems!
Posts: 3443
Joined: Wed Sep 17, 2008 2:25 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

Actually, one more possibility: You're looking at something wrong. Is your copy of EViews up-to-date?

I ran the code you posted and got a mean of 3.9938.

EViews Matt
EViews Developer
Posts: 356
Joined: Thu Apr 25, 2013 7:48 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

Something about this is bothering me. Shouldn't the expected variance of the residuals asymptotically approach (from below) the true variance of the generating process (as written in the original author's script) as the sample size increases? The extreme boundary example is n = 2, where the residual variance is zero, regardless of the generating process. With a sample size of 10, I observe an average that fluctuates around 3.6. This remains consistent if the number of iterations are increased. However, increasing the number of observations pushes the average towards 4.0.

startz
Non-normality and collinearity are NOT problems!
Posts: 3443
Joined: Wed Sep 17, 2008 2:25 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

EViews Matt wrote:Something about this is bothering me. Shouldn't the expected variance of the residuals asymptotically approach (from below) the true variance of the generating process (as written in the original author's script) as the sample size increases? The extreme boundary example is n = 2, where the residual variance is zero, regardless of the generating process. With a sample size of 10, I observe an average that fluctuates around 3.6. This remains consistent if the number of iterations are increased. However, increasing the number of observations pushes the average towards 4.0.

I don't think so. Under the classic assumptions, s^2 is an unbiased estimator. So there is Monte Carlo error on finding it's mean, but the actual mean doesn't depend on sample size.

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 12112
Joined: Tue Sep 16, 2008 5:38 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

Use @stdevs rather than @stdev
Follow us on Twitter @IHSEViews

EViews Matt
EViews Developer
Posts: 356
Joined: Thu Apr 25, 2013 7:48 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

Created a small EViews program (further below) to explore the expected residual variance for different sample sizes. I believe this shows the same numerical phenomenon that underlays the original poster's question. ExpVar.png (7.17 KiB) Viewed 865 times

The generating program:

Code: Select all

`create u 19!iterations = 10000series n = @trend + 2series exp_varfor !i = 1 to @obsrange   !n = n(!i)   !v = 0   pagecreate u !n   series x = @trend   for !j = 1 to !iterations      series y = x + 2 * nrnd      equation eq.ls y x c      !v = !v + @vars(resid)   next   pagedelete Untitled1   exp_var(!i) = !vnextexp_var = exp_var / !iterationsgroup g n exp_varshow g`

startz
Non-normality and collinearity are NOT problems!
Posts: 3443
Joined: Wed Sep 17, 2008 2:25 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

I will admit to being puzzled.

A small piece of where I'm puzzled is what we're seeing for exp_var. Isn't that a series 10,000 long?

EViews Matt
EViews Developer
Posts: 356
Joined: Thu Apr 25, 2013 7:48 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

No, the series are very short (following the OP's example), only of length n. The 10,000 is the number of iterations for building the expectation (i.e. Monte Carlo runs). So, for example, drawing 3 Y's from N(0, 4), regressing, and calculating the variance of the residuals 10,000 times results in an expected residual variance of about 1.997...

startz
Non-normality and collinearity are NOT problems!
Posts: 3443
Joined: Wed Sep 17, 2008 2:25 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

Sorry. I see what you did now.

startz
Non-normality and collinearity are NOT problems!
Posts: 3443
Joined: Wed Sep 17, 2008 2:25 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

The answer is that you can't use @vars or @std. Those divide by n-1. The regression has a constant and X. The SSR needs to be divided by n-2. Do that and I think everything will work.

EViews Matt
EViews Developer
Posts: 356
Joined: Thu Apr 25, 2013 7:48 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

Of course, we've lost two degrees of freedom, that's the correction! Adjusting the original author's variance calculation now produces the expected result,

Code: Select all

`sevec(!i) =  @sumsq(resid - @mean(resid)) / (@obsrange - 2)`

phoenix1914
Posts: 5
Joined: Sat Nov 17, 2018 1:48 pm

### Re: Merging coefficient in series (Updated) - Not correct mean

Thank you all, I'm really grateful for all these replies! i didn't respond earlier due to busy schedule and catching up with other units on econometrics, but I believe this is the answer I was looking for.

I will test it and let you know if that works out!

Return to “Programming”

### Who is online

Users browsing this forum: No registered users and 4 guests