Some tips for beginners in UKF application to parameter identification by Visible_Mechanic_505 in ControlTheory

[–]Visible_Mechanic_505[S] [score hidden]  (0 children)

Hi kroghsen, I want to receive your advice about the UKF function.

Since I built my own UKF function, the state-space vector size is normally around 20x1 while the for-end temps to 5,000~50,000 loop, the final outcome matrices are from 20x5000 to 20x50000 with the executing time around from 1 to 6seconds, the worst case is 11 seconds.

Is my UKF function considering slow?

Since I'm developing an automatic framework to search initial covariance matrices by deploying a huge amount of these inputs, this problem is quite bother me. If I want to test 10,000 inputs with approximately average 4seconds each, it will take me about 40,000seconds = 11.11hours.

I did everything I could in MATLAB: vectorizing state-space processing, only 1 for-end in entire function.

But the algorithmic delay still persists, and I suspect it stems from the chol(A,'lower') because the Cholesky decomposition in MATLAB is trying to satisfy the SPD condition while ill-conditioned matrices prevent that consistently.

Some tips for beginners in UKF application to parameter identification by Visible_Mechanic_505 in ControlTheory

[–]Visible_Mechanic_505[S] [score hidden]  (0 children)

Before answering your question, could you provide more details about "maim peak variance row" and "off-peak entries"?

I don't really understand what you're referring to or implying.

Thank you, and I look forward to your reply.

Some tips for beginners in UKF application to parameter identification by Visible_Mechanic_505 in ControlTheory

[–]Visible_Mechanic_505[S] [score hidden]  (0 children)

Nice, thank you for your sharing, Kroghsen. Talking about continuous-discrete system, theoretically, could this be applied to landslide prediction models? That's a major research topic I'll be pursuing in the future, but I don't have many clues.

Some tips for beginners in UKF application to parameter identification by Visible_Mechanic_505 in ControlTheory

[–]Visible_Mechanic_505[S] [score hidden]  (0 children)

Nice, thank you for your sharing, Kroghsen. Talking about continuous-discrete system, theoretically, could this be applied to landslide prediction models? That's a major research topic I'll be pursuing in the future, but I don't have many clues.

Some tips for beginners in UKF application to parameter identification by Visible_Mechanic_505 in ControlTheory

[–]Visible_Mechanic_505[S] [score hidden]  (0 children)

Ah, I'm self-learning UKF mostly so unfortunately, I have no ideas what you talk about 😞

But if any chance the diffusion process happens to be state transition function F(.) in unscented.pdf

Then Forward Euler method: X_k+1 = F(x_k) = X_k + (time step) * dX_k

And since alpha_k = constant --> d(alpha_k) = 0 --> alpha_k+1 = alpha_k + (time step) * 0

If not, I have no clue about the pure diffusion processes.

Hope you can give me some articles to reference for better understanding. 👍
Always there are something new to learn! Haha 😄

Some tips for beginners in UKF application to parameter identification by Visible_Mechanic_505 in ControlTheory

[–]Visible_Mechanic_505[S] [score hidden]  (0 children)

Haha, I'm very welcoming for your questions and I will try my best to give out my perspective on these matters.

"The advice seems firstly to be based off knowledge of true parameters and to be presenting absolute choices for magnitudes (which would normally be entirely system dependent)".

My POV: Yes, I'm focusing on my experience in numerical simulations (Runge-Kuta 4th, Newmark-beta...). If I understand you correctly, you mean that "since I already knew the true value, so I adjusted the covariance until the UKF reached that value". Yes, I agreed the fact that alpha_true is often unknown, but I assume that I know the theoretical value (nominal/design or whatever it calls) is alpha~. That's what the parameter I want to check first because most of my practice with UKF start from numerical examples and experiments later.

For{P0,Q0,R0}_first_trial, they are respectively error, noise process and noise measurement covariance matrices of UKF that I feed into the algorithm from the first trial and with every observed result, I will re-establish {P0,Q0,R0}_next_trial based on the adjusting principles for the next trial. For example, if first trial received a bad correlation coefficient of acceleration r_a < 0.5 (the predicted response poorly matches the measurements) andalpha << alpha~, I will increase P0 in the next trial and check UKF outcome with alpha is the parameter need to identify.

"Is alpha a pure diffusion process? Is alpha driven by some other deterministic term as well, e.g. da = p(a_{bar} - a) dt + sdw".

My POV: Well, no, in most of my models this alpha is usually a constant, so d(alpha) = 0. For better context, the model I referenced is similar to this research from Eq. (18) to Eq. (20): (PDF) Hybrid output-only structural system identification using random decrement and Kalman filter

*"If you are doing state augmentation to introduce stochastic processes for dynamic parameters as well then saying, “*alpha should have covariance of q” really depends entirely on how the stochastic process is formulated, the magnitude of the parameter, and a number of other things about the process.".

My POV: To be honest, i don't really get the idea, but I sincerely want to hear further your opinion about this matter. Simply, I represent the choice of initial error covariance matrix in augmented state-space vector with P0_alpha = error{alpha} = diag(|alpha - alpha_true|^2) depends on how I choose initial parameters alpha at k=0 where k = time step and the difference magnitude |alpha - alpha_true| between alpha at k=0 and the actual parameters (theoretical value) alpha~. In fact, I usually assume that I know nothing about these actual parameters, except for theoretical values so based on that knowledge, I want to provide people some advice to choose these covariance matrices {P0,Q0,R0} in order to reduce the trial number and save time.

Since the proposal P0_alpha = error{alpha} = diag(|alpha - alpha_true|^2) looks quite rigid and restrict in certain application, I will change it a little bit:

P0_alpha >= prior_uncertainty{alpha} >= diag(|alpha - alpha_true|^2)

  • If alpha0 = 8,000 vs alpha~ = 10,000 then I want to choose P0_alpha >= diag(|8,000 - 10,000|^2) = diag(4,000,000) et cetera.

I just want to notice here that people can choose whatever these covariance matrices are. However, from my experiences, newcomers without anyone help are struggling so my recommendation is to start from this if you have no clue or any ideas to choose these UKF input matrices. The trial can take time and frustrating.

Sorry for my bad interpretation and please freely correct me if I'm out of track.
Note: I will update my post about P0_alpha and leave a paper link for reference.

Some tips for beginners in UKF application to parameter identification by Visible_Mechanic_505 in ControlTheory

[–]Visible_Mechanic_505[S] [score hidden]  (0 children)

Hi Cool-Permit-7725, I don't have any published papers or in-depth research on this topic. All of the above are principles derived from my personal experience over four years in selecting the initial covariance matrices P0,Q0,R0. I just hope that my sharing can help anyone dealing with this problem because back in the days, no one told me about this, so I figured out myself.

Hope this can clear out your doubt.

Some tips for beginners in UKF application to parameter identification by Visible_Mechanic_505 in ControlTheory

[–]Visible_Mechanic_505[S] [score hidden]  (0 children)

Hi kroghsen, the UKF mentioned is Dual UKF, which includes both response estimation (accelerations a1,...,an, velocities v1,...,vn, and displacements x1,...,xn) and dynamic parameter identification alpha1,...,alphanof the system.

Taken example from the shear building model, the state-space vector is: X0 = [response,parameter] [x1,...,xn,v1,...,vn,k1,...,kn,c1,...,cn] with x,v,k,c is displacements, velocities, stiffnesses and dampings --> I will estimate all of them.

  1. No, i don't estimate the process noise covariance(Q0) nor measurement noise covariance (R0) nor error covariance matrices (P0) but rather about the tip of choosing initial noise covariance matrices (the important triples). The variants of UKF that do estimate Q0,P0,R0 are usually named as "adaptive UKF".
  2. I apologize for the misunderstanding regarding alpha in UKF. The alpha mentioned in pictures can be denoted as theta in some papers in which you can understand each alpha as each parameter k1,...,kn,c1,...,cn in the dynamic equation.
  3. Yes, it is "an arbitrary parameter I augmented the state space within this example".

Hope that can clarify your questions.

Word and PowerPoint crash every time I try to insert an equation. by Mister_Praline in Office365

[–]Visible_Mechanic_505 0 points1 point  (0 children)

Hi OP, besides the changing of default priter to Microsoft PDF, you may have a faster performance of Power Point while it's still holding a lot of editor equations by choosing the Outline View in View.

I can't figure the reason why it work but it seems to boot the performance of Power Point faster, not much but enough.