For a method calculating expected claims in insurance I have to assume lognormal distribution. For testing I would use annual cumulated data. With a small sample capped at 20 years, my idea is to use disaggregated data - monthly, or individual claims. Now I have found hat the sum of lognormal claims is not a lognormally distributed. Are there any ideas to improve the power of the test?

Edit: The general aim is to calculate the volatility of claims by maximum likelihood estimation. The test for the distribution is Kolmogorov-Smirnov. The problem is that I would have annual data with as few as 5 years of data, and a cap after 20 years.

In pretesting with random samples from lognormal, normal and gamma distributions I get good results if the data is indeed lognormal even with 5 years of data, but the test will only decline about 5% of the gamma-distributed sample with 5 years of data (in 10,000 samples).

Probability of declining H0 = sample is lognomally distributed

Here the code for the simulation, I'd be grateful for comments if there is a problem with the way I set it up.

n = 5:20
Loops = 10000
GammaRes = LogNormRes = NormRes = matrix(rep(NA, length(n)*Loops),nrow = Loops)
for(j in 1:Loops)
   count = 0
   for(i in n)
      count = count + 1
      GammaVerluste = rgamma(i, shape =2 )
      LogNormVerluste = rlnorm(i)
      NormVerluste = rnorm(i)
      GammaRes[j,count] = ks.test(GammaVerluste, "plnorm")$p.value
      LogNormRes[j,count] = ks.test(LogNormVerluste, "plnorm")$p.value
      NormRes[j,count] = ks.test(NormVerluste, "plnorm")$p.value
Alpha = 0.01

DeclineGamma = DeclineNormal = DeclineLogNormal = rep(NA, length(n))
count = 0
for(i in 1:length(n))
   DeclineGamma[i] = sum(GammaRes[,i] < Alpha)/Loops
   DeclineNormal[i] = sum(NormRes[,i] < Alpha)/Loops
   DeclineLogNormal[i] = sum(LogNormRes[,i] < Alpha)/Loops
  • $\begingroup$ I edited the question trying to clarify my problem. $\endgroup$
    – Owe Jessen
    Apr 4, 2012 at 7:01

1 Answer 1


Firstly, the Kolmogorov-Smirnov is a test for a completely specified distribution. If you estimate the parameters rather than pre-specify them, the test doesn't have the intended properties - in particular, it is much less likely to reject the null, either when it's true or when it's false.

You simply can't use it without taking account of the estimation of parameters.

Second, it's not a particularly powerful test in any case.

Also, while the sum of lognormals isn't lognormal, it's frequently a remarkably good approximation, so you shouldn't expect to get much power against it even in fairly large samples.

Any of these suggest a lack of tendency to reject the null.

Some recommendations:

(i) since a particularly good test for normality is the Shapiro-Wilk test, you could take your sum of lognormals, take logs and test that for normality; alternatively -

(ii) since the deviations of a sum of lognormals from lognormality are going to tend to be smooth, this suggests doing smooth tests. Again, I'd suggest working with testing the log of the approximately-lognormal for normality. Smooth tests for normality are detailed in the book by Rayner and Best (Smooth Tests of Goodness of Fit) as well as several of their papers.

Either of these should do fine.


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.