Request for Paul (WEBHUBTEL)

Dear Paul

Could you help out in making a list of all the diff EQ related to El Nino and related topics, related papers and solving methods. IF somehow we have a place here or anywhere we could use as a reference.

Thanx

Dara

Comments

  • 1.

    Excellent idea, I will place a header on each subtopic

    LIBRARY ROUTINES for DiffEq

    So far, I have used two techniques for solving non-linear differential equations.

    My primary tool is Mathematica, where I use the general NDSolve routine, which stands for Numerical ordinary DifferentialEquation Solver.

    Another one I use and which acts as a verification is the R routine called ode in the deSolve package which stands for Ordinary Differential Equation solver.

    These two routines give identical results for the same non-linear equations, but with the Mathematica having a considerable speed advantage.

    Comment Source:Excellent idea, I will place a header on each subtopic ## LIBRARY ROUTINES for DiffEq ## So far, I have used two techniques for solving non-linear differential equations. My primary tool is Mathematica, where I use the general [NDSolve](http://reference.wolfram.com/language/ref/NDSolve.html) routine, which stands for Numerical ordinary DifferentialEquation Solver. Another one I use and which acts as a verification is the R routine called [ode](http://www.inside-r.org/packages/cran/deSolve/docs/ode) in the deSolve package which stands for Ordinary Differential Equation solver. These two routines give identical results for the same non-linear equations, but with the Mathematica having a considerable speed advantage.
  • 2.

    Thanx Paul, I meant the literature on solving diff eq not generally know.

    I use Mathematica I think that is pretty much cover what is known, but there are fringe methods which we could add our own code

    D

    Comment Source:Thanx Paul, I meant the literature on solving diff eq not generally know. I use Mathematica I think that is pretty much cover what is known, but there are fringe methods which we could add our own code D
  • 3.

    Alpha for DiffEq

    In a pinch one can also use Wolfram Alpha for quick evaluation, http://wolframalpha.com

    As an example, here is an interactive input of a Mathieu equation: Interactive Alpha

    This solves this equation, and also graphs a portion of the solution

    x''(t)+(3-2*cos(t))*x(t)=0
    

    Alpha

    Comment Source:## Alpha for DiffEq ## In a pinch one can also use Wolfram Alpha for quick evaluation, <http://wolframalpha.com> As an example, here is an interactive input of a Mathieu equation: [Interactive Alpha](http://www.wolframalpha.com/input/?i=x%27%27%28t%29%2B%283-2*cos%28t%29%29*x%28t%29%3D0) This solves this equation, and also graphs a portion of the solution x''(t)+(3-2*cos(t))*x(t)=0 ![Alpha](http://imageshack.com/a/img908/6889/4ScoZX.gif)
  • 4.

    Ok great!

    Let's get some standard data, the equations you know well and let's build some code in mathematica fit against the data + a global maximizer which for now the NMINIMIZE in Mathematica could do a great job(that is Diff Evolution but on on cpu)

    D

    Comment Source:Ok great! Let's get some standard data, the equations you know well and let's build some code in mathematica fit against the data + a global maximizer which for now the NMINIMIZE in Mathematica could do a great job(that is Diff Evolution but on on cpu) D
  • 5.

    Parametric Search for Solving Differential Equations Minimizing Error wrt Data Set

    Mathematica has a parametric solver called ParametricNDSolve

    I am not enthused about how well this works as it seems to get stuck in local minimum too easily, but here is an example that I have tried. The data is in the table SOI, which is a set of (year,value) pairs in monthly increments

    DECADES=4;
    YEAR=1973;
    START = (YEAR-1880)*12;      StYr = START/12;
    END = START + 120*DECADES;   EndYr = END/12;
    ST = Table[{N[i/12], -N[SOI[[i,2]]]*0.03}, {i, START, END}];
    
    sol = ParametricNDSolve[{
       y''[x]+(A-B*Sin[Omega*x+Theta])*y[x]==QB*Sin[Q*x+Phi]+CW*Sin[W*x+Psi], 
       y'[StYr]==Der, y[StYr]==Init
       }, 
       y, 
       {x,StYr,EndYr},
       {A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init}
    ];
    model = y /. sol;
    fit = NonlinearModelFit[ST, 
           {model[A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init][x], 
           {1.6<A<2.5, 0.5<B<1.55, 0.9<Omega<1.2, 0.0<Theta<2*Pi, 
            0.005<QB<0.1,  2.4<Q<2.8, 0.0<Phi<2*Pi,
            0.002<CW<0.05, 0.80<W<1.1, 0.0<Psi<2*Pi,
            -0.1<Der<0.1, -0.1<Init<0.1  }},
           {A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init},x,
              Method -> NMinimize, 
              MaxIterations  -> 200, 
              AccuracyGoal -> 3,  
              PrecisionGoal -> 4]; 
    Print[fit["ParameterTable"]]
    fit["RSquared"]
    fit[x]
    Plot[%,{x,StYr,EndYr}, Epilog -> Point[ST],PlotRange->{-0.1,0.1}, PlotStyle->{Red}]
    

    All the parameters are set as range constraints. In this case, I started to tighten the constraints as the solution started to converge.

    Comment Source:## Parametric Search for Solving Differential Equations Minimizing Error wrt Data Set ## Mathematica has a parametric solver called [ParametricNDSolve](http://reference.wolfram.com/language/ref/ParametricNDSolve.html) I am not enthused about how well this works as it seems to get stuck in local minimum too easily, but here is an example that I have tried. The data is in the table SOI, which is a set of (year,value) pairs in monthly increments DECADES=4; YEAR=1973; START = (YEAR-1880)*12; StYr = START/12; END = START + 120*DECADES; EndYr = END/12; ST = Table[{N[i/12], -N[SOI[[i,2]]]*0.03}, {i, START, END}]; sol = ParametricNDSolve[{ y''[x]+(A-B*Sin[Omega*x+Theta])*y[x]==QB*Sin[Q*x+Phi]+CW*Sin[W*x+Psi], y'[StYr]==Der, y[StYr]==Init }, y, {x,StYr,EndYr}, {A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init} ]; model = y /. sol; fit = NonlinearModelFit[ST, {model[A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init][x], {1.6<A<2.5, 0.5<B<1.55, 0.9<Omega<1.2, 0.0<Theta<2*Pi, 0.005<QB<0.1, 2.4<Q<2.8, 0.0<Phi<2*Pi, 0.002<CW<0.05, 0.80<W<1.1, 0.0<Psi<2*Pi, -0.1<Der<0.1, -0.1<Init<0.1 }}, {A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init},x, Method -> NMinimize, MaxIterations -> 200, AccuracyGoal -> 3, PrecisionGoal -> 4]; Print[fit["ParameterTable"]] fit["RSquared"] fit[x] Plot[%,{x,StYr,EndYr}, Epilog -> Point[ST],PlotRange->{-0.1,0.1}, PlotStyle->{Red}] All the parameters are set as range constraints. In this case, I started to tighten the constraints as the solution started to converge.
  • 6.

    Ok I look at it tonight, where is the data? and how you read it ?

    Comment Source:Ok I look at it tonight, where is the data? and how you read it ?
  • 7.

    Reading ENSO Data

    I typically use data that is in (Time, Value) pairs, separated by tabs, spaces, or commas

    ...
    1970    0.080
    1971    -1.517
    1972    -0.501
    1973    0.918
    1974    -1.501
    ...
    

    I use Mathematica's Import routine to read this into a tabular format

    SOI=Import["/users/pp/data/ENSO/soi.txt", "table"];
    

    One place to get ready-to-use SOI data is the Climate Explorer

    SOI page : http://climexp.knmi.nl/getindices.cgi?WMO=CRUData/soi&STATION=SOI&TYPE=i&id=someone@somewhere

    SOI data : http://climexp.knmi.nl/data/isoia.txt

    Comment Source:## Reading ENSO Data ## I typically use data that is in (Time, Value) pairs, separated by tabs, spaces, or commas ... 1970 0.080 1971 -1.517 1972 -0.501 1973 0.918 1974 -1.501 ... I use Mathematica's Import routine to read this into a tabular format SOI=Import["/users/pp/data/ENSO/soi.txt", "table"]; One place to get ready-to-use SOI data is the Climate Explorer SOI page : <http://climexp.knmi.nl/getindices.cgi?WMO=CRUData/soi&STATION=SOI&TYPE=i&id=someone@somewhere> SOI data : <http://climexp.knmi.nl/data/isoia.txt>
  • 8.

    thanx I play... get back to you soon

    Comment Source:thanx I play... get back to you soon
  • 9.
    edited September 2014

    DiffEq Approximations

    This is an interesting recent paper and supplementary material about approximating non-linear Mathieu equations

    [1]J. A. Rial, J. Oh, and E. Reischmann, “Synchronization of the climate system to eccentricity forcing and the 100,000-year problem,” Nature Geoscience, vol. 6, no. 4, pp. 289–293, 2013.

    rial

    After reading this, now I understand how naive formula-finding tools such as Eureqa select modulated sinusoidal terms such as

    $$ sin(\omega t + k \cdot sin(\nu t +\phi) .. $$ as they try to map the first order solution of the Mathieu equation --- without actually solving the DiffEq. See this thread and comment for evidence http://azimuth.mathforge.org/discussion/1451/enso-proxy-records/?Focus=12194#Comment_12194

    Fascinating, and obvious now that someone pointed it out explicitly. BTW, the way I found this reference was to search for "Mathieu Differential Equation" on Google Scholar, as opposed to just "Mathieu Equation"

    Comment Source:## DiffEq Approximations ## This is an interesting recent paper and supplementary material about approximating non-linear Mathieu equations [1]J. A. Rial, J. Oh, and E. Reischmann, “Synchronization of the climate system to eccentricity forcing and the 100,000-year problem,” Nature Geoscience, vol. 6, no. 4, pp. 289–293, 2013. * paper: <http://www.dynamicpaleoclimate.org/uploads/2/3/5/4/23543390/__________ngeo1756.pdf> * supplement: <http://www.nature.com/ngeo/journal/v6/n4/extref/ngeo1756-s1.pdf> ![rial](http://imageshack.com/a/img905/9914/dKorWq.gif) After reading this, now I understand how naive formula-finding tools such as Eureqa select modulated sinusoidal terms such as $$ sin(\omega t + k \cdot sin(\nu t +\phi) .. $$ as they try to map the first order solution of the Mathieu equation --- without actually solving the DiffEq. See this thread and comment for evidence <http://azimuth.mathforge.org/discussion/1451/enso-proxy-records/?Focus=12194#Comment_12194> Fascinating, and obvious now that someone pointed it out explicitly. BTW, the way I found this reference was to search for "Mathieu Differential Equation" on Google Scholar, as opposed to just "Mathieu Equation"
  • 10.

    But hm(t) has an ABS in it, this is not the same as Eureqa

    Comment Source:But hm(t) has an ABS in it, this is not the same as Eureqa
  • 11.

    Paul while this seems to be a well-written paper, it has too much English. We need to show the data, analysis of the data, algorithms performing on data, plots and equations acting or derived from data, in an engineering specified manner. once that is done and debugged and reviewed, then another group of investigators start the verbose explanation.

    I find it dangerous that the same people who analyze the data are the same people forming theories. There is danger of preconceived biases and institutional prejudice.

    The papers, IMHO, should be written by people in separate fields of endeavour and organizations. I see this helping the integrity of scientific processes.

    IMHO the papers should be code-centric i.e. DONT TELL ME SHOW ME how the code runs on the data

    Dara

    Comment Source:Paul while this seems to be a well-written paper, it has too much English. We need to show the data, analysis of the data, algorithms performing on data, plots and equations acting or derived from data, in an engineering specified manner. once that is done and debugged and reviewed, then another group of investigators start the verbose explanation. I find it dangerous that the same people who analyze the data are the same people forming theories. There is danger of preconceived biases and institutional prejudice. The papers, IMHO, should be written by people in separate fields of endeavour and organizations. I see this helping the integrity of scientific processes. IMHO the papers should be code-centric i.e. DONT TELL ME SHOW ME how the code runs on the data Dara
  • 12.
    edited September 2014

    Dara said: "But hm(t) has an ABS in it, this is not the same as Eureqa"

    The Absolute Value on the sine wave will add higher-frequency harmonics to the modulation. The fundamental frequency is still there though. That is what is emerging from Eureqa, not the harmonics, as those will be further down in the noise.

    But you are right in that observation. Why are they putting an absolute value in the equation? In their supplementary paper, where they go through a quick derivation, there is no absolute value.

    It is entirely possible that they want to see a "full-wave" rectified waveform emerge. Very curious.

    [edit]

    This is the difference between the abs value and un-rectified -- faster phase shifts depending on where on the curve it is.

    abs

    Comment Source:Dara said: *"But hm(t) has an ABS in it, this is not the same as Eureqa"* The Absolute Value on the sine wave will add higher-frequency harmonics to the modulation. The fundamental frequency is still there though. That is what is emerging from Eureqa, not the harmonics, as those will be further down in the noise. But you are right in that observation. Why are they putting an absolute value in the equation? In their supplementary paper, where they go through a quick derivation, there is no absolute value. It is entirely possible that they want to see a "full-wave" rectified waveform emerge. Very curious. [edit] This is the difference between the abs value and un-rectified -- faster phase shifts depending on where on the curve it is. ![abs](http://imageshack.com/a/img537/2765/ETJDBo.gif)
  • 13.

    The problem with absolute value is that the derivative is not well behaved and therefore the differential equation is far more complicated to solve!

    Comment Source:The problem with absolute value is that the derivative is not well behaved and therefore the differential equation is far more complicated to solve!
  • 14.

    Dara, But they are using that as an approximation to the solution, not the Mathieu differential equation itself. That is, if you consider the version without the ABS value.

    I will see if I can generate an example.

    Comment Source:Dara, But they are using that as an approximation to the solution, not the Mathieu differential equation itself. That is, if you consider the version without the ABS value. I will see if I can generate an example.
  • 15.

    I understand but there is a huge difference in the family of solutions with or without ABS. I know this from similar situation forSVR.

    But let's code and experiement, I do not think theoretical thinking will do, we just have to code and produce many many solutions and compare

    D

    Comment Source:I understand but there is a huge difference in the family of solutions with or without ABS. I know this from similar situation forSVR. But let's code and experiement, I do not think theoretical thinking will do, we just have to code and produce many many solutions and compare D
  • 16.

    Dara, I mulled over what you said. Yes, that certainly goes in to the category of what Feynman calls "fooling oneself", entering with preconceived notions.

    Rationale for Mathieu-type differential equations

    I started the analysis approach of focusing on Mathieu-type equations because of constantly hearing that ENSO was a "sloshing" of Pacific ocean waters. So I looked into what the mathematical basis for sloshing was -- and it turns out to be forced excitation of Mathieu-like formulations. Here are two highly cited refs:

    [1] J. B. Frandsen, “Sloshing motions in excited tanks,” Journal of Computational Physics, vol. 196, no. 1, pp. 53–87, 2004.

    [2] O. M. Faltinsen and A. N. Timokha, “Sloshing,” 2009.

    But since I realized that the frequency spectra arising from these non-linear interactions was going to be difficult to extract from Fourier analysis, some other approach would be necessary.

    And that is why I am pursuing this line of DiffEq solution analysis. It may or may not lead anywhere in the long run, but when the evidence starts pointing one in a certain direction, it makes sense to pursue it. I think that is what machine learning does as well -- the machine learning program is only as good as the quality of objectives that are programmed into it.

    This is a nice project overall in that if the science does not succeed, we still may have a nice set of heuristics in predicting El Ninos.

    Comment Source:Dara, I mulled over what you said. Yes, that certainly goes in to the category of what Feynman calls "fooling oneself", entering with preconceived notions. ## Rationale for Mathieu-type differential equations ## I started the analysis approach of focusing on Mathieu-type equations because of constantly hearing that ENSO was a "sloshing" of Pacific ocean waters. So I looked into what the mathematical basis for sloshing was -- and it turns out to be forced excitation of Mathieu-like formulations. Here are two highly cited refs: [1] J. B. Frandsen, “Sloshing motions in excited tanks,” Journal of Computational Physics, vol. 196, no. 1, pp. 53–87, 2004. [2] O. M. Faltinsen and A. N. Timokha, “Sloshing,” 2009. But since I realized that the frequency spectra arising from these non-linear interactions was going to be difficult to extract from Fourier analysis, some other approach would be necessary. And that is why I am pursuing this line of DiffEq solution analysis. It may or may not lead anywhere in the long run, but when the evidence starts pointing one in a certain direction, it makes sense to pursue it. I think that is what machine learning does as well -- the machine learning program is only as good as the quality of objectives that are programmed into it. This is a nice project overall in that if the science does not succeed, we still may have a nice set of heuristics in predicting El Ninos.
  • 17.

    And that is why I am pursuing this line of DiffEq solution analysis. It may or may not lead anywhere in the long run

    Dear Paul

    None of these people know what equations to use! So I suggest you feed me the papers and equations and I hack a lot of solver type of code and then we see which one works best. Then We show the results to John and he knows best which way to push the math and dynamical modelling of the underlying data.

    I like to focus on the code and solvers, you obviously have a lot other talents to mode the dynamical systems, but at this point of time I just see thru code

    Dara

    Comment Source:>And that is why I am pursuing this line of DiffEq solution analysis. It may or may not lead anywhere in the long run Dear Paul None of these people know what equations to use! So I suggest you feed me the papers and equations and I hack a lot of solver type of code and then we see which one works best. Then We show the results to John and he knows best which way to push the math and dynamical modelling of the underlying data. I like to focus on the code and solvers, you obviously have a lot other talents to mode the dynamical systems, but at this point of time I just see thru code Dara
  • 18.

    Paul

    John had some writings on these diff eq:

    Noisy Hopf Bifurcation

    Delay equations

    In all honesty I think John's direction might be more fruitful, the addition of noise by itself is really key. I want to make sure we use John's approach.

    Dara

    Comment Source:Paul John had some writings on these diff eq: [Noisy Hopf Bifurcation](http://mathematica.lossofgenerality.com/2014/06/24/noisy-hopf-bifurcation/) [Delay equations](http://mathematica.lossofgenerality.com/2014/06/24/delay-differential-equation-el-nino/) In all honesty I think John's direction might be more fruitful, the addition of noise by itself is really key. I want to make sure we use John's approach. Dara
Sign In or Register to comment.