You can take the mean of any number of values, including just one value - in that case, the mean will just be equal to that value. Standardized means (standardized first moments) are always equal to zero.

You can't calculate variance (the second standardized moment) for only one value, though - you need a minimum of two values to calculate this moment. Since the variance of one number is zero, the standardized variance would be undefined since you'd have to divide by zero in that calculation.

I'm wondering if this pattern holds for higher-order moments. In other words, would it not make sense to calculate kurtosis (the 4th moment) for three values? I know it's possible to calculate kurtosis for three values, but I'm not sold that doing so will actually tell you anything useful; also, this could be a degrees-of-freedom thing - perhaps there just aren't the degrees of freedom to calculate kurtosis for three values.

Is it reasonable to claim that, to calculate the nth moment, you need a minimum of n values?

Furthermore, it's interesting that skewness is always 0 for groups of 2 observations (it's obvious why) and kurtosis is always 2 for groups of 3 observations (it's not obvious to me why). Higher-order nth moments do not follow this pattern of always being the same when you have n - 1 observations, and here's some R code to prove it.

# Calculating Standardized Second Moments (Variances) for Different Groups of
# One Observation

One_Observation_Groups <- list(1, -100, 5, 25, 0)
sapply(One_Observation_Groups, function (x) {
  y <- sum(((x - mean(x)) / sd(x)) ^ 2)
# [1] NA NA NA NA NA

# Calculating Standardized Third Moments (Skewnesses) for Different Groups of
# Two Observations

Two_Observation_Groups <- list(c(1, 2), c(-3, 5), c(5, 500), c(1000, 1000000), c(-10, 0))
sapply(Two_Observation_Groups, function (x) {
  y <- sum(((x - mean(x)) / sd(x)) ^ 3)
# [1] 0 0 0 0 0

# Calculating Standardized Fourth Moments (Kurtoses) for Different Groups of
# Three Observations

Three_Observation_Groups <- list(c(1, 2, 3), c(4, 4, 9), c(10, 100, 1000), c(-1, 1, 20), c(-1000, 0, 25))
sapply(Three_Observation_Groups, function (x) {
  y <- sum(((x - mean(x)) / sd(x)) ^ 4)
# [1] 2 2 2 2 2

# Calculating Standardized Fifth Moments for Different Groups of Four
# Observations

Four_Observation_Groups <- list(c(1, 2, 3, 4), c(4, 4, 9, 4), c(10, 100, 1000, 10000), c(-1, 1, 20, -200), c(-1000, 0, 25, -1001))
sapply(Four_Observation_Groups, function (x) {
  y <- sum(((x - mean(x)) / sd(x)) ^ 5)
# [1]  0.000000000  7.500000000  7.312432049 -7.309556249  0.005921752

# Calculating Standardized Sixth Moments for Different Groups of Five
# Observations

Five_Observation_Groups <- list(c(1, 2, 3, 4, 5), c(4, 4, 9, 3, 3), c(10, 100, 1000, 10000, 100000), c(-1, 1, 20, 0, -100), c(-1000, 0, 25, 1000000, 1000001))
sapply(Five_Observation_Groups, function (x) {
  y <- sum(((x - mean(x)) / sd(x)) ^ 6)
# [1]  8.320000 29.154365 31.920474 29.807977  3.911114
  • 1
    $\begingroup$ That's incorrect: you can take the variance of one value. It's always zero. You appear to confuse statistics with their estimators, so a review of the distinction might help you answer this question yourself. If you're still puzzling over this, contemplate computing the moments of any Bernoulli distribution, where at most two distinct values are ever possible: you wouldn't want to conclude that moments of this distribution for $n\gt 2$ are undefined, would you? $\endgroup$
    – whuber
    Jun 20, 2023 at 21:51
  • $\begingroup$ @whuber - you're right - you can calculate the variance of one number, and it's zero. You can't calculate higher-order moments of one value, though, I think, since you'll have to divide by zero in the calculation. $\endgroup$ Jun 21, 2023 at 13:32
  • $\begingroup$ I was actually specifically referring to standardized moments here, so I'll edit my question accordingly. $\endgroup$ Jun 21, 2023 at 13:33
  • $\begingroup$ For the Bernoulli distribution thing you mentioned, even though there are only 2 distinct values, there can still be many observations - these observations can only assume those two values, though. You use the individual observations in the moment calculation and not merely the distinct values - am I correct? $\endgroup$ Jun 21, 2023 at 13:35
  • $\begingroup$ Your remark about division by zero is strange: the higher-order moments of single points are all zero. There's no division by zero, because by definition the moment of order $k$ for a data set $(x_1,x_2,\ldots,x_n)$ is the arithmetic mean of the $x_i^k.$ Sure, to standardize a moment you need a nonzero standard deviation -- there's no getting around that. But that's the only limitation and it's independent of the order of the moment. $\endgroup$
    – whuber
    Jun 21, 2023 at 13:49

1 Answer 1


On top of @whuber's comments, you may also want to consider the minimum number of observations to $\textbf{accurately}$ estimate the moments. As the order $k$ increases, so does the number of observations $n$ you will need to have a reliable estimate. For instance, the variance of the sample skewness will be $\frac{6}{n}$, while the variance of the sample kurtosis will be $\frac{24}{n}$ (under normality assumptions). Although both estimates' variances will decrease at the same rate with $n$, you will need a higher $n$ to reach a given accuracy for a higher moment. See also this related question: Why are larger samples required to estimate higher moments than when estimating the mean?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.