I have a question about labeling outliers in my data. My data is weights for several products. Of course, there is a 'true weight' of a product. I wish to find/approach that from my data (on average). Due to a lot of reasons, the measured weight can be (very) different from the real weight. A simple example is that I have this vector of observations: 1,1,1,1,1,1,1,1,1,1,10. I would identify the 10 as an outlier, and because I have many observations of 1, I can assume that the real weight will be close to 1. However, maybe I have 1,1,1,1,4,4,4,5,5,5,6,6,6,8,8,8,8,8. There are no extreme outliers in this vector, but I can also not accept the mean of this vector as the 'real weight' because there is just way too much variance in the observations.
I am wondering if there is any specific method or function that can identify 'acceptable observations'. In the first case, only the 1s are acceptable. In the latter example, none of the observation is (yet) acceptable (depending on future observations).
I'm kind of lost in how to approach such a problem. I already tried the standard methods of detecting outliers, such as boxplot and 2 standard deviations. But that won't cover my last example. I also looked at the ratio of standard deviation and mean. but I am not sure how to apply that. I found that there are also different results for high absolute values and low absolute values. Any ideas?