But it can be tough to earn a decent full-time income from this these days massive

4 min readDec 6, 2020
By doing this you’ll be building your reputation and your brand and you can make it easier for people to seek out YOU for a change. You could also go on to hire your own freelancers to take on the work whilst you focus on marketing and growing your business.However, the interaction between metrics in the real-world is often non-linear, which means that linear regression cannot give us a good approximation of outputs given the inputs. This is where MARS comes to the rescue.

Selling your own physical product can take a lot of work initially, especially when compared to the other ways to make money online, but there is massive potential doing this.

The result of combining linear hinge functions can be seen in the example below, where black dots are the observations, and the red line is a prediction given by the MARS model:Linear regression made easy. How does it work and how to use it in Python?
All you need to know about building a Machine Learning model using the linear regression algorithm.towardsdatascience.com

Next, we download and ingest the data that we will use to build our MARS and linear regression models.
(source: https://www.kaggle.com/quantbruce/real-estate-price-prediction?select=Real+estate.csv)

You can use multivariate adaptive regression splines to tackle the same problems that you would use linear regression for, given they both belong to the same group of algorithms. A few examples of such problems would be:

Yes, when streaming, it can sometimes behave like the stream is not “flowing through the pipes” very well, but it does not stutter and distort in the horrible way which Tidal does. It has yet to crash during playback like Tidal does. And… now that most of my songs (all 99 GB of it) is available offline, I find no problems playing back any music at all. It is super pristine and smooth for offline files which is the way it should be.
Note that the py-earth package is only compatible with Python 3.6 or below at the time of writing. If you are using Python 3.7 or above, I suggest you create a virtual environment with Python v.3.6 to install py-earth.
Regression itself is part of the supervised Machine Learning category that uses labeled data to model the relationship between data inputs (independent variables) and outputs (dependent variables).


It is clear from this example that linear regression would fail to give us a meaningful prediction as we would not be able to draw one straight line across the entire set of observations.

I am pretty sure the problem is MQA and Tidal having to switch playing between “Fully decoding” MQA, “Half decoding” MQA and non MQA files whether it is being streamed or played offline. What a mess!

I’m going to try Qobuz and update here later. I am currently migrating all my music from Tidal to Qobuz using the FreeMyMusic.com iOS app. I have 99gb of offline files on Tidal (my iPhone X is the 256gb one — this is the only way for me to use all that space). I have about 170gb of music including Tidal, DSD (Onkyo app) & iTunes personal music on my iPhone.
They tried to get it to work, and it fails miserably. I mean $19.99 per month and $399 MQA DAC and it still crashes and burns. I am tired of this — and this issue is worse for music listeners because problems with music are more irritating.
Before we dive into the specifics of MARS, I assume that you are already familiar with Linear Regression. If you would like a refresher on the topic, feel free to explore my linear regression story:

I think the last straw was comparing my local CD quality files on my iPhone and finding that invariably they always sound better than any of the Tidal Streaming or Offline files.

This story is part of a deep dive series explaining the mechanics of Machine Learning algorithms. In addition to giving you an understanding of how ML algorithms work, it also provides you with Python examples to build your own ML models.Looking at the graph above, we can clearly see the relationship between the two variables. The price of a house unit area decreases as the distance from the nearest MRT station increases.It has been a full 24 hours since I moved to Qobuz. The music has never sounded better. I find it less “noisy” than Tidal, it plays more of the kind of music I like, and no more horrible distortion during playback followed by an app crash.

The backward stage, a.k.a. pruning stage, goes through functions one at a time and deletes the ones that add no material performance to the model. This is done by using a generalized cross-validation (GCV) score. Note, GCV score is not actually based on cross-validation and is only an approximation of true cross-validation score, aiming to penalize model complexity.

I am pretty sure the problem is MQA and Tidal having to switch playing between “Fully decoding” MQA, “Half decoding” MQA and non MQA files whether it is being streamed or played offline. What a mess!
Let us take ‘X3 distance to the nearest MRT station’ as our input (independent) variable and ‘Y house price of unit area’ as our output (dependent, a.k.a. target) variable.
You need to be solid at what you do and stand out from the crowd if you want to make a good living, but it’s definitely very possible. Once you gain some experience and have built up a nice portfolio of work there’s always the option of creating your own business around your expertise instead of just going from odd job to job.