Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Why does this scalar calculation return the wrong value when using time series operators?


From   Nick Cox <[email protected]>
To   [email protected]
Subject   Re: st: Why does this scalar calculation return the wrong value when using time series operators?
Date   Tue, 6 Nov 2012 22:07:43 +0000

A U.S.-based Stata friend privately queried "plumps for" as "British slang?"

I wouldn't want to be obscure, so should spell out that "plumps for"
means "chooses" in this context.

Last I heard the language was called "English"....

On Tue, Nov 6, 2012 at 9:45 PM, Nick Cox <[email protected]> wrote:
> The short answer is that your "scalar calculation" is no such thing.
> You are asking to
>
> . di t
>
> -- thinking that scalar t will be displayed --
>
> but Stata has three rules that together cause this to do something different.
>
> First off, variables and scalars share the same namespace.
>
> Second, if there's ambiguity Stata plumps for the variable name interpretation.
>
> Third, if asked to display a variable, -display- tries its best and
> its best is varname[1], here t[1], here 1.
>
> See also
>
> SJ-6-2  dm0021  . Stata tip 31: Scalar or variable? Problem of ambiguous names
>         . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  G. I. Kolev
>         Q2/06   SJ 6(2):279--280                                 (no commands)
>         tips for avoiding abbreviation conflicts with variables
>         when naming scalars
>
> You're in very good company in being puzzled by this, as only a
> concatenation of circumstances explains it all.
>
> Nick
>
> On Tue, Nov 6, 2012 at 9:25 PM, Aaron Kirkman <[email protected]> wrote:
>
>> I'm performing a simple linear regression on time series data and
>> calculating the t-statistic for coefficients afterwards. However, I
>> noticed that when using time series operators, the t-statistic always
>> calculates to be one, even though the values from the regression are
>> correct. For example, this code:
>>
>> ----------
>> clear all
>>
>> set seed Xc0114d4971eea6310add269363d61a6d00042c5f
>> local y0 0
>> set obs 200
>> quietly {
>>      gen y = .
>>      gen t = _n
>>      tsset t
>>
>>      replace y = cond(t == 1, `y0', L.y + rnormal())
>>      regress D.y L.y
>> }
>>
>> di _b[L.y]
>> di _se[L.y]
>> di _b[L.y] / _se[L.y]
>>
>> scalar t = _b[L.y] / _se[L.y] // t = Beta / SE
>>
>> di t
>> ----------
>>
>> outputs the following:
>>
>> -.02092465     // _b[L.y]
>> .01391362      // _se[L.y]
>> -1.5038971     // _b[L.y] / _se[L.y]
>> 1                   // scalar "t"
>>
>> The first three numbers are the correct values from the regression,
>> but the calculation for the t-statistic is incorrect. If I remove the
>> time series operators from the code and instead refer to observations
>> numbers (I would prefer to use time series operators, but just as an
>> example), the resulting t-statistic is correct:
>>
>> ----------
>> clear all
>> set seed Xc0114d4971eea6310add269363d61a6d00042c5f
>> local y0 0
>> set obs 200
>> quietly {
>>     gen y = .
>>     gen ly = .
>>     gen dy = .
>>
>>     replace y = cond(_n == 1, `y0', y[_n - 1] + rnormal())
>>     replace ly = y[_n - 1]
>>     replace dy = y - ly
>>
>>     regress dy ly
>> }
>>
>> di _b[ly]
>> di _se[ly]
>> di _b[ly] / _se[ly]
>>
>> scalar t = _b[ly] / _se[ly] // t = Beta / SE
>> di t
>> ----------
>>
>> This code outputs the correct t-statistic of  -1.5038971
>>
>> -.02092465     // _b[L.y]
>> .01391362      // _se[L.y]
>> -1.5038971     // _b[L.y] / _se[L.y]
>> -1.5038971     // scalar "t"
>>
>>
>> I read through "[U] 13.5 Accessing coefficients and standard errors"
>> and --help scalar--, but I don't see anything in either of those
>> manuals that would cause the problem. Any ideas?
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index