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

Re: how to speed up multiple regressions?



Hi Craig,

Thanks for taking a look.  I was hoping someone would point out to me a very
obvious blunder I was making.  I had high hopes upon reading your message,
but I think I'm sticking all of this in a loop to compute the significance
because datadof is NOT a constant for all points in my array.  In the first
loop I included in the original post, data_tau is the decorrelation timescale
at each data point which is, unfortunately, not constant.  T_CVF, as you
indicated, requires the 2nd argument (datadof in my case) to be a scalar.  My
problem is that datadof isn't the same for all data points.

However, your post make me realize that I can do the regression in a slightly
different way that will eliminate this problem, and save me loads of time.

So while your suggestion wasn't the fix I was looking for, it jarred my tired
brain enough to think of another work-around.  So thanks!

Charlotte

Craig Markwardt wrote:

> I've only looked at the second section, the part you thought was too
> slow.  Here is my take on the situation:
>
>   datadof = float(big_count)/data_tau  ;; DOF's are a scalar!
>   tval = t_cvf(0.1, datadof)           ;; Student's T value, computed once
>
>   data_t = abs(datar*sqrt(datadof))/sqrt(1-datar*2)
>   datcomp = dataf(*,*,*,0) + dataf(*,*,*,1)*tsval
>   data_sig = datar*sqrt(datadof)/sqrt(1-datar*2) GT tval
>
> You may be able to vectorize the first part a little better, but I'll
> leave that to you.
>
> Craig
>
> --
> --------------------------------------------------------------------------
> Craig B. Markwardt, Ph.D.         EMAIL:    craigmnet@cow.physics.wisc.edu
> Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
> --------------------------------------------------------------------------