Fitting Data to Grafted Distribution

Click For Summary

Discussion Overview

The discussion revolves around fitting a normal-Weibull grafted distribution to a dataset representing strength distributions of samples. Participants explore the challenges of ensuring a valid graft point where the two distributions meet, as well as the implications of parameter selection and convergence issues in MATLAB.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant describes their approach of fitting a normal-Weibull grafted distribution using MATLAB, adjusting parameters ##a## and ##b## for the Weibull distribution while solving for ##\mu## and ##\sigma## for the normal distribution based on constraints.
  • Another participant questions the existence of a graft point to arbitrary precision, expressing skepticism about the feasibility of achieving equal function values and derivatives at the graft point.
  • Concerns are raised about the randomness of parameter selection and the potential lack of solutions for certain values of ##a## and ##b##, suggesting that the graft may not always exist.
  • Some participants express uncertainty about the method of choosing the crossover point and the overall purpose of fitting these distributions.
  • Discussion includes the notion that fitting a grafted distribution may not be standard in mathematical statistics, with references to related concepts like spline fitting and cumulative probability distributions.

Areas of Agreement / Disagreement

Participants express differing views on the feasibility and methodology of fitting a grafted distribution, with no consensus on the existence of a reliable graft point or the appropriateness of the fitting approach.

Contextual Notes

Participants note limitations regarding the clarity of the algorithm used for fitting, the selection of parameters, and the ambiguity in defining a "grafted distribution" in standard mathematical terms.

person123
Messages
326
Reaction score
52
TL;DR
I want to fit a normal-Weibull grafted distribution to a set of data.
I have a set of data (representing the strength distribution of samples), and I would like to fit a normal-Weibull grafted distribution. To the left of a specified graft point, the distribution is Weibull, and to the right it's normal. At the graft point, the value and the first derivative are equal on the two sides.

I'm currently using MATLAB to fit the data. Parameter ##a## and ##b## for the Weibull distribution are selected, and the values for ##\mu## and ##\sigma## for the normal distribution are solved for using the two constraints. The square error between the data and the distribution is computed. ##a## and ##b## are adjusted to minimize the error.

This approach for the first several iterations is effective. However, at some values for ##a## and ##b##, solving for ##\mu## and ##\sigma## returns no value, causing the iterations to end in an error (I tried avoiding this by ignoring the empty result, but it fails to converge when I do this).

Is there a way of adjusting parameters which would guarantee a grafted distribution regardless the values the parameters take? Is there an alternative approach?

Thank you!
 
Physics news on Phys.org
It is not clear to me that such a graft always exists to arbitrary precision. Why do you expect this to work?
 
  • Like
Likes   Reactions: FactChecker
hutchphd said:
It is not clear to me that such a graft always exists to arbitrary precision. Why do you expect this to work?
The quick answer is that I've seen previous papers fit grafted distributions to data.

I imagine I'm sometimes not getting a solution because there are cases where the graft doesn't exist for certain values of ##a## and ##b##. However, I'm just trying to find a grafted distribution which fits the data most closely.
 
It just seems that it would take a lot of luck to have both the function values equal and the derivatives equal at the same point. But maybe I am missing something that makes it possible.
 
  • Like
Likes   Reactions: hutchphd
Are you doing this arbitrarily to get a smooth curve ? How do you choose the crossover point? Seems an odd thig to do to me, in addition to my previous reservations.
So after you fit these curves (assuming it "works") what do you use this for?
 
  • Like
Likes   Reactions: FactChecker
FactChecker said:
It just seems that it would take a lot of luck to have both the function values equal and the derivatives equal at the same point. But maybe I am missing something that makes it possible.

Depending on the values of ##a## and ##b##, it is sometimes possible. For example, if you set (I just chose these values randomly):
$$a=1$$$$b=2$$$$x_g=1.5$$

you get:
$$\mu=3.7098...$$$$\sigma=1.2167...$$
hutchphd said:
Are you doing this arbitrarily to get a smooth curve ?
"Smooth" in that the value and its first derivative are equal at that point.
hutchphd said:
How do you choose the crossover point?
Hopefully when the CDF is plotted on "Weibullian" paper (where the y-axis is ##\ln(-\ln(1-y))##) the point where the data shifts from a straight line would be the grafting point (where the distribution changes from Weibull to normal).
hutchphd said:
So after you fit these curves (assuming it "works") what do you use this for?
The data I'm fitting is the strength distribution from molecular simulations. The parameters from the fit will be compared to previous experimental work.
 
person123 said:
Summary:: I want to fit a normal-Weibull grafted distribution to a set of data.
person123 said:
Parameter ##a## and ##b## for the Weibull distribution are selected, and the values for ##\mu## and ##\sigma## for the normal distribution are solved for using the two constraints.
What the algorithm does is unclear. It isn't clear how the algorithm determines the "crossover" point. It isn't clear how ##a## and ##b## are selected. (An interesting question is whether there can be situations where the same set given set of parameters ##a,b,c,d## works with two different crossover points.) In mathematics, "constrained optimization" is a vast topic. Are you using a MATLAB function that implements a well known algorithm?

As far as I can determine, "grafted distribution" is not a standard term from mathematical statistics. The only places I find it used online is in an engineering paper https://ascelibrary.org/doi/abs/10.1061/(ASCE)EM.1943-7889.0000396?src=recsys

The put the general idea of fitting a "grafted distribution" to data in standard mathematical terms, it involves fitting "splines" to data. That type of fitting requires using members of some family of curves whose values and derivatives match where the curves join.

The notion of doing a least squares fit of a probability distribution to data is ambiguous. We could do a least squares fit of a probability density function to data if we have a lot of data. However, the more usual situation is that we fit a cumulative probability distribution to a cumulative histogram of data.

If we specify an arbitrary family of probability distributions ##\mathbb{F}## , we cannot be sure that one of distributions provides the best least squares error fit to data. It may be that different members of the family give the same least squares fit.

My guess is that you aren't worried about the mathematical technicalities. You want a fit that pleases you subjectively.
 
Last edited:

Similar threads

  • · Replies 11 ·
Replies
11
Views
28K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 12 ·
Replies
12
Views
4K
  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 13 ·
Replies
13
Views
2K
Replies
2
Views
3K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K