<br><br><div class="gmail_quote">On Tue, Nov 17, 2009 at 12:13 AM, Ian Mallett <span dir="ltr"><<a href="mailto:geometrian@gmail.com">geometrian@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Theory wise:<br>-Do a linear regression on your data.<br>-Apply a logrithmic transform to your data's dependent variable, and do another linear regression.  <br>-Apply a logrithmic transform to your data's independent variable, and do another linear regression.<br>


-Take the best regression (highest r^2 value) and execute a back transform.<br><br>Then, to get your desired extrapolation, simply substitute in the size for the independent variable to get the expected value.<br><br>If, however, you're looking for how to implement this in NumPy or SciPy, I can't really help :-P<br>
<font color="#888888">

Ian<br>
</font><br>_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
<br></blockquote></div><br>OK, before applying your suggestions. I have a few more questions. Here is 1 real-sample data that I will use as a part of the log-normal fitting. There is 15 elements in this arrays each being a concentration for corresponding 0.1 - 3.0 um size ranges.<br>
<br>I[74]: conc<br>O[74]: <br>array([ 119.7681,  118.546 ,  146.6548,   96.5478,  109.9911,   32.9974,<br>         20.7762,    6.1107,   12.2212,    3.6664,    3.6664,    1.2221,<br>          2.4443,    2.4443,    3.6664])<br>
<br>For now not calibrated size range I just assume a linear array:<br><br>I[78]: sizes = linspace(0.1, 3.0, 15)<br><br>I[79]: sizes<br>O[79]: <br>array([ 0.1       ,  0.30714286,  0.51428571,  0.72142857,  0.92857143,<br>
        1.13571429,  1.34285714,  1.55      ,  1.75714286,  1.96428571,<br>        2.17142857,  2.37857143,  2.58571429,  2.79285714,  3.        ])<br><br><br>Not a very ideal looking log-normal, but so far I don't know what else besides a log-normal fit would give me a better estimate:<br>
I[80]: figure(); plot(sizes, conc)<br><a href="http://img406.imageshack.us/img406/156/sizeconc.png">http://img406.imageshack.us/img406/156/sizeconc.png</a><br><br>scipy.stats has the lognorm.fit<br><br>    lognorm.fit(data,s,loc=0,scale=1)<br>
        - Parameter estimates for lognorm data<br><br>and applying this to my data. However not sure the right way of calling it, and not sure if this could be applied to my case?<br><br>I[81]: stats.lognorm.fit(conc)<br>
O[81]: array([ 2.31386066,  1.19126064,  9.5748391 ])<br><br>Lastly, what is the way to create a ideal log-normal sample using the stats.lognorm.rvs?<br><br>Thanks<br><br clear="all"><br>-- <br>Gökhan<br>