[ncl-talk] Bootstrapping method for significant test

Dennis Shea shea at ucar.edu
Wed Dec 14 20:58:32 MST 2016


[1]
http://www.ncl.ucar.edu/Applications/bootstrap.shtml
http://www.ncl.ucar.edu/Document/Functions/Bootstrap/bootstrap_regcoef.shtml
Look at examples
bootstrap_regcoef_1.ncl
bootstrap_regcoef_2.ncl
bootstrap_regcoef_3.ncl

[2]
You don't need the following but it was wrong. FTR:

do k=0,2999
    ab  = regCoef(AI_fall(:,k),Nd_fall(:,k))
    df   = ab at nptxy-2
    tval = ab at tval

    df     = where(df.lt.1,1, df)
    prob = 1 - betainc(df/(df+tval^2), df/2.0, 0.5)
    sig_fall(k) = where(prob.lt.0.95, -999, prob)
end do

On Wed, Dec 14, 2016 at 7:02 PM, Anahita Amiri Farahani <aamir003 at ucr.edu>
wrote:

> Thanks a lot, your answer was really helpful and I have another question:
>
> Before I use regCoef function in NCL to calculate linear regression. Using
> this function gives other variables such as rcraw_npt, and  rcraw_tval, so
> I was able to calculate significance at 95%, 90% and 99% confidence level.
> I've put that part of the code here:
>
> do k=0,2999
>
>    ab = regCoef(AI_fall(:,k),Nd_fall(:,k))
>     rcraw_npt=ab at nptxy-2
>     rcraw_tval=ab at tval
>     b    = rcraw_tval
>     b    = 0.5
>     rcraw_npt=where(rcraw_npt.lt.1,1,rcraw_npt)
>     rcraw_prob = (1 - betainc(rcraw_npt/(rcraw_npt+rcraw_tval^2),rcraw_npt/2.0,b)
> )
>     sig_fall(k)=where(rcraw_prob.lt.0.95,-999,rcraw_prob)
>
> end do
>
>
> How can I calculate the significance at different confidence level here by
> using xBoot?
>
> Best,
> Ana
>
>
>
>
> On Wed, Dec 14, 2016 at 2:45 PM, Dennis Shea <shea at ucar.edu> wrote:
>
>> I think you will have to decide what is best.
>>
>> [a]
>> Constrain the F,N,A triplets to be 'coupled'
>>
>>    nBoot =   10000
>>    xBoot = *new* <http://www.ncl.ucar.edu/Document/Functions/Built-in/new.shtml> (nBoot, typeof(F))
>>
>>    do ns=0,nBoot-1                        ; generate multiple estimates
>>       iw = *generate_sample_indices* <http://www.ncl.ucar.edu/Document/Functions/Contributed/generate_sample_indices.shtml>(N,*1*))  ; indices with replacement
>>       xBoot(ns) = (dF(iw)/dN(iw))*(dN(iw)/dA(iw))
>>    end do
>>
>> [b]
>>
>> Unconstrained
>>
>>
>>    nBoot =   10000
>>    xBoot = *new* <http://www.ncl.ucar.edu/Document/Functions/Built-in/new.shtml> (nBoot, typeof(F))
>>
>>    do ns=0,nBoot-1                        ; generate multiple estimates
>>       iwF = *generate_sample_indices* <http://www.ncl.ucar.edu/Document/Functions/Contributed/generate_sample_indices.shtml>(N,*1*)) ; indices with replacement
>>       iwN = *generate_sample_indices* <http://www.ncl.ucar.edu/Document/Functions/Contributed/generate_sample_indices.shtml>(N,*1*))
>>       iwA = *generate_sample_indices* <http://www.ncl.ucar.edu/Document/Functions/Contributed/generate_sample_indices.shtml>(N,*1*))
>>
>>       xBoot(ns) = (dF(iwF)/dN(iwN))*(dN(iwN)/dA(iwA))
>>    end do
>>
>> [c]
>> See where your product fits.
>>
>>    ia = *dim_pqsort_n* <http://www.ncl.ucar.edu/Document/Functions/Built-in/dim_pqsort_n.shtml>(xBoot, 2, 0)        ; sort bootstrap means into ascending order
>>
>>    n025     = *round* <http://www.ncl.ucar.edu/Document/Functions/Built-in/round.shtml>(0.025*(nBoot-1),3)    ; indices for sorted array
>>    n500     = *round* <http://www.ncl.ucar.edu/Document/Functions/Built-in/round.shtml>(0.500*(nBoot-1),3)
>>    n975     = *round* <http://www.ncl.ucar.edu/Document/Functions/Built-in/round.shtml>(0.975*(nBoot-1),3)
>>
>>    xBoot_025= xBoot(n025)                 ;  2.5% level
>>    xBoot_500= xBoot(n500)                 ; 50.0% level  (median)
>>    xBoot_975= xBoot(n975)                 ; 97.5% level
>>
>>
>>
>> On Wed, Dec 14, 2016 at 3:12 PM, Anahita Amiri Farahani <aamir003 at ucr.edu
>> > wrote:
>>
>>> Dear all,
>>>
>>> I have a product of two partial derivatives : dF/dN*dN/dA and for each
>>> of the variables (F, N, and A) I have data for 720 times. Each partial
>>> derivatives are calculated  by linear regression. I was wondering how I can
>>> calculate the significant test for this product. All examples in NCL to
>>> estimate linear regression by this function: *regline_stats
>>> <http://www.ncl.ucar.edu/Document/Functions/Contributed/regline_stats.shtml> *
>>> give the regression coefficient for two variables.
>>>
>>> Thanks,
>>> Ana
>>>
>>> _______________________________________________
>>> ncl-talk mailing list
>>> ncl-talk at ucar.edu
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20161214/0308ed2c/attachment.html 


More information about the ncl-talk mailing list