# Some data science in Haskell

**URL:** https://discourse.haskell.org/t/some-data-science-in-haskell/8926
**Category:** Show and Tell
**Created:** [February 29, 2024, 9:01am UTC](https://discourse.haskell.org/t/some-data-science-in-haskell/8926 "2024-02-29T09:01:38Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![emiruz](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/emiruz/32/4042_2.png) [@emiruz](https://discourse.haskell.org/u/emiruz)
#### Post date: [February 29, 2024, 9:01am UTC](https://discourse.haskell.org/t/some-data-science-in-haskell/8926/1 "2024-02-29T09:01:38Z")

</div>

Here is a UK property price model in Haskell:

> <https://github.com/emiruz/data-analysis-with-haskell/tree/main/uk-property>
>
> //github.com/emiruz/data-analysis-with-haskell/tree/main/uk-property

It interpolates the price of a UK house across all time from just public price paid data. It features a fairly large sparse non-linear regression problem solved with a custom implementation of the Adam optimiser (adamax variant), the `ad` autodiff package and a bit of wrangling in about 55 lines of code.

Note: it uses `deepseq` at the moment which I intend to replace with `strict-containers`: I had a version conflict issue due to `primitives`, and I don’t understand `cabal` well enough to solve it yet, but I’ll change it when I do.

Thank you those that helped me muddle through in [this thread](http://discourse.haskell.org/t/optimiser-performance-problems/8906/30).

---

<div class="post-metadata">

### Author: ![emiruz](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/emiruz/32/4042_2.png) [@emiruz](https://discourse.haskell.org/u/emiruz)
#### Post date: [March 5, 2024, 9:35pm UTC](https://discourse.haskell.org/t/some-data-science-in-haskell/8926/2 "2024-03-05T21:35:30Z")

</div>

# Jointly learning transformations and fitting a regression

A 5 parameter non-linear pipeline composed of a two Yeo-Johnson transforms, a sigmoid function which bisects the model, and a linear regression. It is jointly fitted using “threshold accepting” annealing which is also implemented herein: 53 lines of code.

> **[data-analysis-with-x/joint-regression at main · emiruz/data-analysis-with-x](https://github.com/emiruz/data-analysis-with-x/tree/main/joint-regression)**
>
> Short data science / analysis projects in a variety of programming languages - emiruz/data-analysis-with-x
