I am trying to find a R library that splits a distribution into a symmetric and asymmetric components. I have a distribution that I want to split into two components, one skewed and the other most likely symmetric but possibly skewed. I tried

output <- spEMsymloc(input, mu = c(-0.5, 1.5), bw=0.2)

from the mixtools library, and got two components but they were both symmetric and did not fit the original distribution very well.enter image description here

I tried

output <- smsn.mix(input, nu = 2, g = 2, get.init = TRUE, criteria = TRUE, group = TRUE, family = "Skew.normal", calc.im=FALSE)

from the mixsmsn library and got a single skewed component.enter image description here

Is there a way to get two components where one is skewed.

  • 3
    $\begingroup$ Since there is a huge number of ways, leading to greatly varying answers, perhaps you could explain what you intend this decomposition to accomplish and what additional assumptions you might be making about those two components. $\endgroup$ – whuber Dec 14 '17 at 20:51
  • $\begingroup$ I am hoping to set a threshold that minimizes the error in assigning an observation to one or other of 2 components. IOW I would like to set a threshold for outliers. I could assume that they are either normal or skew-normal. Thanks, $\endgroup$ – OtagoHarbour Dec 14 '17 at 20:58
  • $\begingroup$ To what would this threshold apply? Your language of outliers and thresholds seems to have little or no relationship to your question about decomposing a distribution into a mixture--how are the two issues connected? And how are these distributions intended to be related to the data you have? $\endgroup$ – whuber Dec 14 '17 at 21:08
  • $\begingroup$ If there are two separate components, as in the former (spEMsymloc) figure, the threshold would be about 0.5 since that is where there is an equal chance of an observation being in the red component or the green. The underlying data is a metric to distinguish between two classes. Thanks, $\endgroup$ – OtagoHarbour Dec 14 '17 at 21:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.