# Is there a package implementing the Box and Cox (1964) method for transforming data?

**URL:** https://discourse.julialang.org/t/is-there-a-package-implementing-the-box-and-cox-1964-method-for-transforming-data/14024
**Category:** Statistics
**Tags:** question
**Created:** [August 25, 2018, 3:26am UTC](https://discourse.julialang.org/t/is-there-a-package-implementing-the-box-and-cox-1964-method-for-transforming-data/14024 "2018-08-25T03:26:48Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![jjlynch](https://avatars.discourse-cdn.com/v4/letter/j/8dc957/32.png) [@jjlynch](https://discourse.julialang.org/u/jjlynch)
#### Post date: [August 25, 2018, 3:26am UTC](https://discourse.julialang.org/t/is-there-a-package-implementing-the-box-and-cox-1964-method-for-transforming-data/14024/1 "2018-08-25T03:26:48Z")

</div>

HI,

I’m new to Julia and looking to convert some of my workflow. I was wondering if there is an implementation of the maximum likelihood-like approach of Box and Cox (1964)?

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [August 25, 2018, 5:36am UTC](https://discourse.julialang.org/t/is-there-a-package-implementing-the-box-and-cox-1964-method-for-transforming-data/14024/2 "2018-08-25T05:36:37Z")

</div>

I may be missing something, but isn’t [the Box-Cox transformation](https://en.wikipedia.org/wiki/Power_transform#Box%E2%80%93Cox_transformation) rather trivial to implement? Why do you need a package for this?

ML should be easy with a generic optimization library like Optim.jl. Eg see [a recent thread](https://discourse.julialang.org/t/maximum-likelihood-normal-linear-model/11664/20).

---

<div class="post-metadata">

### Author: ![jjlynch](https://avatars.discourse-cdn.com/v4/letter/j/8dc957/32.png) [@jjlynch](https://discourse.julialang.org/u/jjlynch)
#### Post date: [August 25, 2018, 1:19pm UTC](https://discourse.julialang.org/t/is-there-a-package-implementing-the-box-and-cox-1964-method-for-transforming-data/14024/3 "2018-08-25T13:19:27Z")

</div>

Yes, it is relatively trivial to implement. I just thought I would ask given that it’s commonly implemented in statistical packages in most data science / statistical oriented languages.

---

<div class="post-metadata">

### Author: ![tk3369](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tk3369/32/2824_2.png) [@tk3369](https://discourse.julialang.org/u/tk3369)
#### Post date: [September 2, 2018, 8:30am UTC](https://discourse.julialang.org/t/is-there-a-package-implementing-the-box-and-cox-1964-method-for-transforming-data/14024/4 "2018-09-02T08:30:37Z")

</div>

I just created a package 😉 Not registered though.

[https://github.com/tk3369/BoxCoxTrans.jl](https://github.com/tk3369/BoxCoxTrans.jl)

---

<div class="post-metadata">

### Author: ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)
#### Post date: [September 2, 2018, 8:47am UTC](https://discourse.julialang.org/t/is-there-a-package-implementing-the-box-and-cox-1964-method-for-transforming-data/14024/5 "2018-09-02T08:47:13Z")

</div>

Incidentally, I like your use of `𝐱` in code. It solves the eternal `elt` vs `x` vs `xs` dilemma.

---

<div class="post-metadata">

### Author: ![tk3369](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tk3369/32/2824_2.png) [@tk3369](https://discourse.julialang.org/u/tk3369)
#### Post date: [September 9, 2018, 6:33pm UTC](https://discourse.julialang.org/t/is-there-a-package-implementing-the-box-and-cox-1964-method-for-transforming-data/14024/6 "2018-09-09T18:33:09Z")

</div>

For those who are interested, I’ve updated the package:

1. Ability to specify custom lambda parameter
2. Ability to scale results with geometric mean for better interpretability with units
3. Ability to switch between two different log-likelihood implementations
4. Better README and doc strings
