---
title: "Skewness"
language: "en"
type: "Symbol"
summary: "Skewness[data] gives the coefficient of skewness estimate for the elements in data. Skewness[dist] gives the coefficient of skewness for the distribution dist."
keywords: 
- asymmetry
- shape
- shape statistic
- skew
- the third standardized moment
- measure of the asymmetry
- skew
- SKEWNESS
- skewness
canonical_url: "https://reference.wolfram.com/language/ref/Skewness.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Descriptive Statistics"
    link: "https://reference.wolfram.com/language/guide/DescriptiveStatistics.en.md"
  - 
    title: "GPU Computing"
    link: "https://reference.wolfram.com/language/guide/GPUComputing.en.md"
  - 
    title: "Statistical Moments and Generating Functions"
    link: "https://reference.wolfram.com/language/guide/StatisticalMomentsAndGeneratingFunctions.en.md"
  - 
    title: "Date & Time"
    link: "https://reference.wolfram.com/language/guide/DateAndTime.en.md"
  - 
    title: "GPU Computing with NVIDIA"
    link: "https://reference.wolfram.com/language/guide/GPUComputing-NVIDIA.en.md"
  - 
    title: "Symbolic Vectors, Matrices and Arrays"
    link: "https://reference.wolfram.com/language/guide/SymbolicArrays.en.md"
related_functions: 
  - 
    title: "Kurtosis"
    link: "https://reference.wolfram.com/language/ref/Kurtosis.en.md"
  - 
    title: "QuartileSkewness"
    link: "https://reference.wolfram.com/language/ref/QuartileSkewness.en.md"
  - 
    title: "CentralMoment"
    link: "https://reference.wolfram.com/language/ref/CentralMoment.en.md"
  - 
    title: "Expectation"
    link: "https://reference.wolfram.com/language/ref/Expectation.en.md"
related_tutorials: 
  - 
    title: "Descriptive Statistics"
    link: "https://reference.wolfram.com/language/tutorial/NumericalOperationsOnData.en.md#7135"
  - 
    title: "Discrete Distributions"
    link: "https://reference.wolfram.com/language/tutorial/NumericalOperationsOnData.en.md#15659"
  - 
    title: "Continuous Distributions"
    link: "https://reference.wolfram.com/language/tutorial/NumericalOperationsOnData.en.md#11002"
---
# Skewness

Skewness[data] gives the coefficient of skewness estimate for the elements in data.

Skewness[dist] gives the coefficient of skewness for the distribution dist.

## Details

* ``Skewness`` measures the asymmetry in ``data`` or of ``dist``.

* ``Skewness[…]`` is equivalent to ``CentralMoment[…, 3] / CentralMoment[…, 2]^3 / 2``.

* A positive skewness $α$ indicates a distribution with a long right tail. A negative skewness indicates a distribution with a long left tail.

[image]

* ``Skewness[{{x1, y1, …}, {x2, y2, …}, …}]`` gives ``{Skewness[{x1, x2, …}], Skewness[{y1, y2, …}], …}``.

* ``Skewness`` handles both numerical and symbolic data.

* The ``data`` can have the following additional forms and interpretations:

|                             |                                                                 |
| --------------------------- | --------------------------------------------------------------- |
| Association                 | the values (the keys are ignored)  »                            |
| SparseArray                 | as an array, equivalent to Normal[data]  »                      |
| QuantityArray               | quantities as an array  »                                       |
| WeightedData                | weighted mean, based on the underlying EmpiricalDistribution  » |
| EventData                   | based on the underlying SurvivalDistribution  »                 |
| TimeSeries, TemporalData, … | vector or array of values (the time stamps ignored)  »          |
| Image, Image3D              | RGB channel's values or grayscale intensity value  »            |
| Audio                       | amplitude values of all channels  »                             |
| DateObject, TimeObject      | list of dates or list of times  »                               |

* For a random process ``proc``, the skewness function can be computed for slice distribution at time ``t``, ``SliceDistribution[proc, t]``, as ``α[t] = Skewness[SliceDistribution[proc, t]]``.  »

[image]

---

## Examples (39)

### Basic Examples (4)

Skewness for a list of values:

```wl
In[1]:= Skewness[{1, 4, 3.5, 9, 7, 8.2}]

Out[1]= -0.214156
```

---

Skewness for symbolic data:

```wl
In[1]:= Skewness[{a, b, c}]

Out[1]= (Sqrt[3] ((a + (1/3) (-a - b - c))^3 + (b + (1/3) (-a - b - c))^3 + ((1/3) (-a - b - c) + c)^3)/((a + (1/3) (-a - b - c))^2 + (b + (1/3) (-a - b - c))^2 + ((1/3) (-a - b - c) + c)^2)^3 / 2)
```

---

Skewness for a list of dates:

```wl
In[1]:= Skewness[{Yesterday, Today, Tomorrow}]

Out[1]= 0
```

---

Skewness for a parametric distribution:

```wl
In[1]:= Skewness[ChiSquareDistribution[10]]

Out[1]= (2/Sqrt[5])
```

### Scope (23)

#### Basic Uses (7)

Exact input yields exact output:

```wl
In[1]:= Skewness[{1, 7, 3, 4}]

Out[1]= (14/25 Sqrt[3])
```

---

Approximate input yields approximate output:

```wl
In[1]:= Skewness[{1., 7., 3., 4.}]

Out[1]= 0.323316

In[2]:= Skewness[N[{1, 7, 3, 4}, 30]]

Out[2]= 0.3233161507461904281251233171
```

---

Find the skewness of ``WeightedData`` :

```wl
In[1]:= Skewness[WeightedData[{1, 2, 3}, {Subscript[w, 1], Subscript[w, 2], Subscript[w, 3]}]]

Out[1]= (Subsuperscript[w, 1, 2] Subscript[w, 2] - Subscript[w, 1] Subsuperscript[w, 2, 2] + 8 Subsuperscript[w, 1, 2] Subscript[w, 3] + Subsuperscript[w, 2, 2] Subscript[w, 3] - 8 Subscript[w, 1] Subsuperscript[w, 3, 2] - Subscript[w, 2] Subsuperscript[w, ... ipt[w, 2] + 4 Subscript[w, 1] Subscript[w, 3] + Subscript[w, 2] Subscript[w, 3]) Sqrt[(Subscript[w, 1] Subscript[w, 2] + 4 Subscript[w, 1] Subscript[w, 3] + Subscript[w, 2] Subscript[w, 3]/(Subscript[w, 1] + Subscript[w, 2] + Subscript[w, 3])^2)])

In[2]:=
data = {8, 3, 5, 4, 9, 0, 4, 2, 2, 3};
weights = {0.15, 0.09, 0.12, 0.10, 0.16, 0., 0.11, 0.08, 0.08, 0.09};

In[3]:= Skewness[WeightedData[data, weights]]

Out[3]= 0.475178
```

---

Find the skewness of ``EventData`` :

```wl
In[1]:=
e = {1.0, 2.1, 3.2, 4.5, 5.7};
ci = {0, 0, 0, 1, 0};

In[2]:= Skewness[EventData[e, ci]]

Out[2]= 0.0218073
```

---

Find the skewness of ``TemporalData`` :

```wl
In[1]:=
s1 = {2, 1, 6, 5, 7, 4};
s2 = {4, 7, 5, 2, 1, 2};
s3 = {3, 12, 2, 1, 6, 2};
t = {1, 2, 5, 10, 12, 15};

In[2]:= td = TemporalData[{s1, s2, s3}, {t}];

In[3]:= Skewness[td[10]]

Out[3]= (35/13 Sqrt[26])
```

---

Find the skewness of ``TimeSeries`` :

```wl
In[1]:=
Skewness[TemporalData[TimeSeries, {{{2.3, 1.2, 6.7, 5.8, 7.1, 4.6}}, {{0, 5, 1}}, 1, {"Discrete", 1}, 
  {"Discrete", 1}, 1, {}}, False, 10.]]

Out[1]= -0.413685
```

The skewness depends only on the values:

```wl
In[2]:=
Skewness[TemporalData[TimeSeries, {{{2.3, 1.2, 6.7, 5.8, 7.1, 4.6}}, {{0, 5, 1}}, 1, {"Discrete", 1}, 
  {"Discrete", 1}, 1, {}}, False, 10.]["Values"]]

Out[2]= -0.413685
```

---

Find the skewness of data involving quantities:

```wl
In[1]:= data = Quantity[RandomReal[1, 6], "Meters"]

Out[1]= {Quantity[0.3441025764458596, "Meters"], Quantity[0.32260533729923946, "Meters"], Quantity[0.47193184413130673, "Meters"], Quantity[0.6315697283447503, "Meters"], Quantity[0.38514758387556514, "Meters"], Quantity[0.09054199900091997, "Meters"]}

In[2]:= Skewness[data]

Out[2]= -0.193825
```

#### Array Data (5)

``Skewness`` for a matrix gives columnwise skewness:

```wl
In[1]:= Skewness[N@{{1, 3, 4}, {4, 6, 1}, {12, 1, 6}}]

Out[1]= {0.492208, 0.239063, -0.239063}
```

---

Works with large arrays:

```wl
In[1]:= Skewness[RandomReal[1, 10 ^ 7]]

Out[1]= 0.000711885

In[2]:= Skewness[RandomReal[1, {10 ^ 6, 5}]]

Out[2]= {-0.00148054, 0.00143102, -0.000822782, 0.000894442, -0.000755359}
```

---

When the input is an ``Association``, ``Skewness`` works on its values:

```wl
In[1]:= mat = RandomReal[1, {3, 2}];

In[2]:=
assoc = AssociationThread[Range[3], mat]
Skewness[assoc]

Out[2]= <|1 -> {0.233397, 0.971594}, 2 -> {0.402426, 0.694488}, 3 -> {0.235557, 0.41394}|>

Out[2]= {0.706712, -0.00756077}
```

---

``SparseArray`` data can be used just like dense arrays:

```wl
In[1]:= Skewness[SparseArray[{{1} -> 1, {100} -> 1}]]

Out[1]= (48/7)

In[2]:= Skewness[SparseArray[{{1, 1} -> 1, {2, 2} -> 2, {3, 3} -> 3, {1, 3} -> 4}]]

Out[2]= {(1/Sqrt[2]), (1/Sqrt[2]), -(35/13 Sqrt[26])}
```

---

Find the skewness of a ``QuantityArray`` :

```wl
In[1]:= data = QuantityArray[RandomReal[1, 6], "Pounds"]

Out[1]=
QuantityArray[StructuredArray`StructuredData[{6}, 
  {{0.0015412371306906536, 0.7846409145816897, 0.024943306249490815, 0.547713011556002, 
    0.5729005796813966, 0.7012929540694541}, "Pounds", {{1}}}]]

In[2]:= Skewness[data]

Out[2]= -0.505764
```

#### Image and Audio Data (2)

Channelwise skewness value of an RGB image:

```wl
In[1]:= Skewness[[image]]

Out[1]= {-0.738472, -0.285269, 0.496819}

In[2]:= RGBColor[%]

Out[2]= RGBColor[{-0.7384720421316964, -0.2852688201224767, 0.49681875421177296}]
```

Skewness intensity value of a grayscale image:

```wl
In[3]:= Skewness[[image]]

Out[3]= -0.055812
```

---

On audio objects, ``Skewness`` works channelwise:

```wl
In[1]:= a = ExampleData[{"Audio", "Bee"}]

Out[1]= [image]

In[2]:= AudioMeasurements[a, "Channels"]

Out[2]= 2

In[3]:= Skewness[a]

Out[3]= {0.306607, 0.125254}
```

#### Date and Time (5)

Compute skewness of a list of dates:

```wl
In[1]:= dates = WolframLanguageData[All, "DateIntroduced"];

In[2]:= DateHistogram[dates]

Out[2]= [image]

In[3]:= Skewness[dates]

Out[3]= -0.784428
```

---

Compute the weighted skewness of dates:

```wl
In[1]:= dates = RandomDate[4]

Out[1]= {DateObject[{2024, 11, 17, 11, 14, 5.5136}, "Instant", "Gregorian", -5.], DateObject[{2024, 1, 12, 1, 50, 35.4138}, "Instant", "Gregorian", -5.], DateObject[{2024, 10, 28, 17, 19, 55.8515}, "Instant", "Gregorian", -5.], DateObject[{2024, 2, 14, 21, 38, 42.1803}, "Instant", "Gregorian", -5.]}

In[2]:= weights = {1, 1, 1, 3};

In[3]:= Skewness[WeightedData[dates, weights]]

Out[3]= 0.685406
```

---

Compute the skewness of dates given in different calendars:

```wl
In[1]:= dates = {DateObject[{2024, 2, 29}, CalendarType -> "Julian"], DateObject[{1524, 1, 1}, CalendarType -> "Islamic"], DateObject[{6024, 1, 15}, CalendarType -> "Jewish"]}

Out[1]= {DateObject[{2024, 2, 29}, "Day", "Julian"], DateObject[{1524, 1, 1}, "Day", "Islamic"], DateObject[{6024, 1, 15}, "Day", "Jewish"]}

In[2]:= Skewness[dates]

Out[2]= 0.414446
```

---

Compute the skewness of times:

```wl
In[1]:= times = RandomTime[3]

Out[1]= {TimeObject[{7, 10, 7.59592}, "Instant"], TimeObject[{12, 14, 26.6626}, "Instant"], TimeObject[{7, 12, 18.0857}, "Instant"]}

In[2]:= Skewness[times]

Out[2]= 0.706984
```

---

Compute the skewness of times with different time zone specifications:

```wl
In[1]:= times = {TimeObject[{12}, TimeZone -> 0], TimeObject[{12}, TimeZone -> 2], TimeObject[{12}, TimeZone -> "Asia/Tokyo"]}

Out[1]= {TimeObject[{12}, "Hour", 0.], TimeObject[{12}, "Hour", 2.], TimeObject[{12}, "Hour", "Asia/Tokyo"]}

In[2]:= Skewness[times]

Out[2]= 0.670428
```

#### Distributions and Processes (4)

Find the skewness for univariate distributions:

```wl
In[1]:= Skewness[BinomialDistribution[n, p]]

Out[1]= (1 - 2 p/Sqrt[n (1 - p) p])

In[2]:= Skewness[ExponentialDistribution[μ]]

Out[2]= 2
```

Multivariate distributions:

```wl
In[3]:= Skewness[MultivariateHypergeometricDistribution[n, {Subscript[m, 1], Subscript[m, 2]}]]

Out[3]= {((2 n - Subscript[m, 1] - Subscript[m, 2]) (Subscript[m, 1] - Subscript[m, 2])/(-2 + Subscript[m, 1] + Subscript[m, 2]) Sqrt[(n Subscript[m, 1] Subscript[m, 2] (-n + Subscript[m, 1] + Subscript[m, 2])/-1 + Subscript[m, 1] + Subscript[m, 2])]), ((2 n - Subscript[m, 1] - Subscript[m, 2]) (-Subscript[m, 1] + Subscript[m, 2])/(-2 + Subscript[m, 1] + Subscript[m, 2]) Sqrt[(n Subscript[m, 1] Subscript[m, 2] (-n + Subscript[m, 1] + Subscript[m, 2])/-1 + Subscript[m, 1] + Subscript[m, 2])])}

In[4]:= Skewness[DirichletDistribution[{a, b, c}]]//Together

Out[4]= {-(2 (a - b - c)/Sqrt[(a (b + c)/1 + a + b + c)] (2 + a + b + c)), -(2 (-a + b - c)/Sqrt[(b (a + c)/1 + a + b + c)] (2 + a + b + c))}
```

---

Skewness for derived distributions:

```wl
In[1]:= Skewness[TransformedDistribution[x^2, x\[Distributed]NormalDistribution[μ, σ]]]

Out[1]= (2 Sqrt[2] (3 μ^2 σ^4 + σ^6)/(2 μ^2 σ^2 + σ^4)^3 / 2)

In[2]:= Skewness[ProbabilityDistribution[8x ^ 7 / 255, {x, 1, 2}]]

Out[2]= -(145201253/528847 Sqrt[48077])
```

Data distribution:

```wl
In[3]:= data = RandomVariate[NormalDistribution[], 10 ^ 3];

In[4]:= Skewness[HistogramDistribution[data]]

Out[4]= 0.0141708
```

---

Skewness for distributions with quantities:

```wl
In[1]:= Skewness[QuantityDistribution[MaxwellDistribution[σ], "Meters" / "Seconds"]]

Out[1]= (2 Sqrt[2] (16 - 5 π)/(-8 + 3 π)^3 / 2)

In[2]:= Skewness[EmpiricalDistribution[QuantityArray[RandomChoice[{0, 5}, 1000], "Volts"]]]

Out[2]= -(78/7 Sqrt[5071])
```

---

Skewness function for a random process:

```wl
In[1]:= Skewness[PoissonProcess[μ][t]]

Out[1]= (1/Sqrt[t μ])

In[2]:= Plot[Evaluate[%  /. {μ -> 2}], {t, 1, 7}]

Out[2]= [image]
```

### Applications (8)

Zero skewness indicates that the distribution is symmetric:

```wl
In[1]:= Skewness[NormalDistribution[]]

Out[1]= 0

In[2]:= Plot[PDF[NormalDistribution[], x], {x, -5, 5}, Filling -> Axis]

Out[2]= [image]
```

---

Distributions with longer tails to the right have positive skewness:

```wl
In[1]:= Skewness[ChiSquareDistribution[5]]

Out[1]= 2 Sqrt[(2/5)]

In[2]:= Plot[PDF[ChiSquareDistribution[5], x], {x, 0, 20}, Filling -> Axis]

Out[2]= [image]
```

---

Distributions with longer tails to the left have negative skewness:

```wl
In[1]:= Skewness[GumbelDistribution[3, 2]]

Out[1]= -(12 Sqrt[6] Zeta[3]/π^3)

In[2]:= Plot[PDF[GumbelDistribution[3, 2], x], {x, -10, 10}, Filling -> Axis]

Out[2]= [image]
```

---

The limiting distribution for ``BinomialDistribution`` as $n -> ∞$ is normal:

```wl
In[1]:= {μ, σ} = {Mean[BinomialDistribution[n, p]], StandardDeviation[BinomialDistribution[n, p]]}

Out[1]= {n p, Sqrt[n (1 - p) p]}

In[2]:=
Block[{p = 1 / 3}, 
	Table[Show[DiscretePlot[PDF[BinomialDistribution[n, p], k], {k, Ceiling[μ - 2σ], Floor[μ + 2σ]}, PlotRange -> {{μ - 3σ, μ + 2σ}, All}, AxesOrigin -> {μ - 3σ, 0}], Plot[PDF[NormalDistribution[μ, σ], x], {x, μ - 2σ, μ + 2σ}], Ticks -> {{{μ - 2σ, HoldForm[μ - 2σ]}, {μ, HoldForm[μ]}, {μ + 2σ, HoldForm[μ + 2σ]}}, Automatic}, PlotRange -> {{μ - 3σ, μ + 2σ}, All}, PlotLabel -> Row[{"n = ", n}]], {n, r = {5, 25, 50, 100}}]]

Out[2]= {[image], [image], [image], [image]}
```

The limiting value of skewness is 0:

```wl
In[3]:= N[Skewness[BinomialDistribution[#, 1 / 3]]]& /@ r

Out[3]= {0.316228, 0.141421, 0.1, 0.0707107}
```

---

By the central limit theorem, skewness of normalized sums of random variables will converge to 0:

```wl
In[1]:= sum[n_] := TransformedDistribution[Total[Array[x, n]], Array[x, n]\[Distributed]ProductDistribution[{GammaDistribution[3, 4], n}]]

In[2]:= Table[Skewness[sum[n]], {n, 1, 10 ^ 3, 100}]//N

Out[2]= {1.1547, 0.114897, 0.0814463, 0.0665558, 0.057663, 0.0515882, 0.0471012, 0.0436124, 0.0407993, 0.0384687}
```

---

Define a Pearson distribution with zero mean and unit variance, parameterized by skewness and kurtosis:

```wl
In[1]:= stPearson[t_, β1_, β2_] = PearsonDistribution[t, 2 (9 + 6 β1 - 5 β2), -Sqrt[β1] (3 + β2), 6 + 3 β1 - 2 β2, -Sqrt[β1] (3 + β2), 3β1 - 4 β2];
```

Obtain parameter inequalities for Pearson types 1, 4, and 6:

```wl
In[2]:= RegionFunc[β1_, β2_] = Table[Tooltip[Reduce[β2 > β1 + 1 && DistributionParameterAssumptions[stPearson[t, β1, β2]], {β1, β2}, Reals], Row[{Text["type -> "], t}]], {t, {1, 4, 6}}]

Out[2]= {β1 ≥ 0 && 1 + β1 < β2 < (1/2) (6 + 3 β1), 0 ≤ β1 < 32 && β2 > -(3 (16 + 13 β1)/-32 + β1) + 6 Sqrt[(64 + 48 β1 + 12 β1^2 + β1^3/(-32 + β1)^2)], (0 ≤ β1 < 32 && (1 + β1 < β2 < (1/8) (12 + 9 β1) || (1/2) (6 + 3 β1) < β2 < -(3 (16 + 13 β1)/-32 + β1) + 6 Sqrt[(64 + 48 β1 + 12 β1^2 + β1^3/(-32 + β1)^2)])) || (β1 ≥ 32 && (1 + β1 < β2 < (1/8) (12 + 9 β1) || β2 > (1/2) (6 + 3 β1)))}
```

The region plot for Pearson types depending on the values of skewness and kurtosis:

```wl
In[3]:=
PearsonDiagram[data_List] := Module[{gr, sβ1, sβ2, β1, β2}, 
	sβ1 = Skewness[data] ^ 2;
	sβ2 = Kurtosis[data];
	gr = Show[
	RegionPlot[RegionFunc[β1, β2]//Evaluate, {β1, 0, Max[10, Ceiling[1.1 * sβ1, 5]]}, {β2, 0, Max[10, Ceiling[1.1 * sβ2, 5]]}, PlotPoints -> 50, Epilog -> {PointSize[0.02], Red, Point[{sβ1, sβ2}]}]
	]
	]
```

Generate a random sample from a ``ParetoDistribution`` :

```wl
In[4]:=
BlockRandom[SeedRandom[2010];
	vec = RandomVariate[ParetoDistribution[2, 12.3], 10 ^ 5];]
```

Determine the type of ``PearsonDistribution`` with moments matching the sample moments:

```wl
In[5]:= PearsonDiagram[vec]

Out[5]= [image]
```

---

This time series contains the number of steps taken daily by a person during a period of five months:

```wl
In[1]:=
stepdata = TemporalData[TimeSeries, {CompressedData["«674»"], {TemporalData`DateSpecification[{2013, 4, 1, 0, 0, 0.}, {2013, 9, 1, 0, 0, 0.}, 
    {1, "Day"}]}, 1, {"Discrete", 1}, {"Discrete", 1}, 1, {ValueDimensions -> 1}}, True, 10.];

In[2]:= DateListPlot[stepdata, Joined -> False, Filling -> 0]

Out[2]= [image]
```

Average number of steps:

```wl
In[3]:= m = Mean[stepdata]//Floor

Out[3]= 10511
```

Analyze the skewness as an indication of a tail in the daily step distribution:

```wl
In[4]:= Skewness[stepdata]//N

Out[4]= -0.171736
```

The histogram of the frequency of daily counts confirms that the distribution has a longer left tail:

```wl
In[5]:= highlightbar[{{x0_, x1_}, {y0_, y1_}}, d_, meta___] := {If[x0 ≤ First[meta] < x1, Red, {}], Rectangle[{x0, y0}, {x1, y1}]}

In[6]:= Histogram[stepdata -> m, 25, ChartElementFunction -> highlightbar, Ticks -> {{{m, "Mean", {0, .025}}}}]

Out[6]= [image]
```

---

Find the skewness for the heights of children in a class:

```wl
In[1]:=
heights = Quantity[{134, 143, 131, 140, 145, 136, 131, 136, 143, 136, 133, 145, 147, 
	        150, 150, 146, 137, 143, 132, 142, 145, 136, 144, 135, 141}, "Centimeters"];

In[2]:= ListPlot[heights, Filling -> Axis, AxesLabel -> Automatic]

Out[2]= [image]
```

Skewness close to 0 indicates distribution symmetric around the mean:

```wl
In[3]:= Skewness[heights]//N

Out[3]= 0.0113408
```

### Properties & Relations (2)

``Skewness`` for data can be computed from ``CentralMoment`` :

```wl
In[1]:= data = RandomReal[10, 20];

In[2]:= Skewness[data]

Out[2]= 0.151142

In[3]:= CentralMoment[data, 3] / CentralMoment[data, 2] ^ (3 / 2)

Out[3]= 0.151142
```

---

``Skewness`` for a distribution can be computed from ``CentralMoment`` :

```wl
In[1]:= dist = ChiSquareDistribution[ν];

In[2]:= ev = (CentralMoment[dist, 3]/CentralMoment[dist, 2]^3 / 2)

Out[2]= (2 Sqrt[2]/Sqrt[ν])

In[3]:= skew = Skewness[dist]

Out[3]= 2 Sqrt[2] Sqrt[(1/ν)]

In[4]:= Simplify[skew == ev, Assumptions -> ν > 0]

Out[4]= True
```

### Possible Issues (1)

Skewness may be undefined for data:

```wl
In[1]:= data = Table[1, 10]

Out[1]= {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

In[2]:= Skewness[data]

Out[2]= Indeterminate
```

Skewness may be undefined for a distribution:

```wl
In[3]:= Skewness[CauchyDistribution[]]

Out[3]= Indeterminate
```

### Neat Examples (1)

The distribution of ``Skewness`` estimates for 50, 100, and 300 samples:

```wl
In[1]:= Skewness[ExponentialDistribution[0.9]]

Out[1]= 2

In[2]:= SmoothHistogram[Table[Skewness[RandomVariate[ExponentialDistribution[0.9], {s, 1000}]], {s, {50, 100, 300}}], Filling -> Axis, PlotLegends -> {50, 100, 300}, PlotRange -> {{0, 5}, Automatic}]

Out[2]= [image]
```

## See Also

* [`Kurtosis`](https://reference.wolfram.com/language/ref/Kurtosis.en.md)
* [`QuartileSkewness`](https://reference.wolfram.com/language/ref/QuartileSkewness.en.md)
* [`CentralMoment`](https://reference.wolfram.com/language/ref/CentralMoment.en.md)
* [`Expectation`](https://reference.wolfram.com/language/ref/Expectation.en.md)

## Tech Notes

* [Descriptive Statistics](https://reference.wolfram.com/language/tutorial/NumericalOperationsOnData.en.md#7135)
* [Discrete Distributions](https://reference.wolfram.com/language/tutorial/NumericalOperationsOnData.en.md#15659)
* [Continuous Distributions](https://reference.wolfram.com/language/tutorial/NumericalOperationsOnData.en.md#11002)

## Related Guides

* [Descriptive Statistics](https://reference.wolfram.com/language/guide/DescriptiveStatistics.en.md)
* [GPU Computing](https://reference.wolfram.com/language/guide/GPUComputing.en.md)
* [Statistical Moments and Generating Functions](https://reference.wolfram.com/language/guide/StatisticalMomentsAndGeneratingFunctions.en.md)
* [Date & Time](https://reference.wolfram.com/language/guide/DateAndTime.en.md)
* [GPU Computing with NVIDIA](https://reference.wolfram.com/language/guide/GPUComputing-NVIDIA.en.md)
* [Symbolic Vectors, Matrices and Arrays](https://reference.wolfram.com/language/guide/SymbolicArrays.en.md)

## History

* [Introduced in 2007 (6.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn60.en.md) \| [Updated in 2023 (13.3)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn133.en.md) ▪ [2024 (14.1)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn141.en.md)