This kind of problem is known in the literature as a nonlinear state-space system identification. Several algorithms have been proposed in the literature to solve these problems. I think a good starting point would be (1) and the references therein, in particular the references [30],[31] and [32].

As far I know, in general if you don't have a good initial estimate of the parameters $k_i$, there is no guarantee that the algorithm will converge to a global solution.

(1) Schön, Thomas B., Adrian Wills, and Brett Ninness. "[System identification of nonlinear state-space models.][1]" Automatica 47.1 (2011): 39-49.



P.S. Many of these identification algorithms have been implemented in MATLAB (maybe there is an equivalent implementation in Octave). See for instance [this freely available third party toolbox][2] and [this example][3] from the system identification toolbox of MATLAB.

[1]: http://www.sciencedirect.com/science/article/pii/S0005109810004279
[2]: http://sigpromu.org/idtoolbox/
[3]: http://www.mathworks.com/help/ident/examples/represent-nonlinear-dynamics-using-matlab-file-for-grey-box-estimation.html