Меню

Polynomial regression channel prc настройки

Машинное обучение: полиномиальная регрессия с Python

Дата публикации Mar 20, 2019

Сокращения, используемые в этом посте:

Сначала проверьте линейную регрессию

В моем предыдущем посте мы обсуждалиЛинейная регрессия, Давайте оглянемся назад. Линейная регрессия применяется для набора данных, что их значениялинейныйкак пример ниже:

А в реальной жизни не все так просто, особенно когда вы наблюдаете из разных компаний в разных отраслях. Заработная плата 1 YE учителя отличается от 1 YE инженера; даже 1Е инженер-строитель отличается от инженера-механика; и если вы сравните 2 инженеров-механиков из 2 разных компаний, их зарплата также в основном разная. Итак, как мы можем предсказать зарплату кандидата?

Сегодня мы будем использовать другой набор данных для представления полиномиальной формы.

Чтобы получить представление об увеличении заработной платы, давайте представим набор данных в виде диаграммы:

Давайте подумаем о нашем кандидате. У него 5 лет. Что делать, если мы используемЛинейная регрессияв этом примере?

Согласно картинке выше, диапазон зарплат нашего кандидата может быть примерноотминусОт 10 000 до 300 000 долларов, Зачем? Посмотрите, наблюдения за зарплатой в этих сценариях не являются линейными.Они в изогнутой форме!Вот почему применениеЛинейная регрессияв этом случае не дает вам правильное значение. Это время дляПолиномиальная регрессия,

Почему полиномиальная регрессия?

Потому что это намного точнее!

Давайте сравним разрывы между использованием линейных и полиномов. Обратите внимание на красный круг:

Это слишком мало, чтобы увидеть? Уменьшите это!

Это в основном7,75 разаболее точный, чем использованиеЛинейная регрессия!

(150 000 + 110 000) / 2 =$ 130 000

Примечание: если вы не знаете, что такое среднее значение, прочитайте мой предыдущий пост оСреднее, Медиана и Мод, Спасибо.

Но это не самый высокий уровень точности и слишком ручной! Давайте применим машинное обучение для большей точности и гибкости расчетов. Время запустить Spyder IDE!

Полиномиальная регрессия с Python

Давайте разделим наши dataset чтобы получить тренировочный набор и набор для тестирования (оба X а также y значения для каждого набора)

У нас уже есть набор поездов и набор тестов, теперь мы должны построить регрессионную модель. Во-первых, мы создадим модель линейной регрессии и визуализируем ее (нет необходимости включать этот шаг в вашу практику, мы просто делаем это только для сравнения между линейным и полиномиальным):

Читайте также:  Ark survival evolved настройка сервера привязанность

После вызова viz_linear() Функция, вы можете увидеть график, как показано ниже:

С другой стороны, мы построим модель полиномиальной регрессии и визуализируем ее, чтобы увидеть различия:

После вызова viz_polynomial() Функция, вы можете увидеть график, как показано ниже:

Последний шаг, давайте предскажем ценность нашего кандидата (с 5 5 Д) с использованием как модели линейной регрессии, так и модели полиномиальной регрессии:

Как видите, прогнозируемые значения с использованием моделей линейной регрессии и модели полиномиальной регрессии совершенно разные!

Давайте прокрутим вверх и еще раз проверим, что мы получили Согласно нашему набору данных, наша зарплата должна быть:

Перед тем, как закончить мой пост, вот наш полный исходный код и набор данных для практики на игровой площадке:

Источник

Polynomial Regression with Keras

Polynomial regression is the basis of machine learning and neural networks for predictive modelling as well as classification problems.

Regression

Regression is all about finding the trend in data (relationship between variables). This allows us to better understand the data distribution and to predict the values for new input variables.

Linear Regression

Linear regression is used when the trend in the data is linear, i.e., it is of the form y = ax + b The other, more commonly used form of regression is polynomial regression.

Polynomial Regression

Polynomial regression used when the trend in data is a polynomial of degree ’n’, i.e., it is of the form y = ax^n + bx^n-1+ … + n.

Now, let’s jump into the code for modelling polynomial regression using Keras. The first block shows all the libraries required for this tutorial.

The model expects an input with as many features as the degree of the curve. So, we must generate more features from the data. Scikit-learn has such a method.

First, let us try to use a linear model for this. The model is of the form wx + b.

Let’s train the model, and plot its curve.

Now let’s try polynomial regression.

Training the model, and plotting its final prediction for the dataset:

Читайте также:  Assassins creed rogue настройки языка

As we can see, in this case polynomial regression is much better, as the data trend is not linear. Other such cases can be predicting the price of a house based on certain factors, etc. However, in certain situations linear regression is better suited. For example, predicting how much fuel a drive will take, or finding the relation between the age of an appliance and its price.

One thing to keep an eye out for is overfitting, which occurs when the model fits the curve too perfectly. This may sound like a good thing, but what actually happens is that the model gets too accustomed to the training data. When we present it with new data, the training data-specific curve won’t work too well.

Real World Example

Here is a fictional dataset of company positions and their salaries. Let us read and plot the data.

Now, let’s plot what our model predicts, against the data:

Источник

GAURs Polynomial Regression Channels

Thanks to The Sweet Lord, here is the Gaur’s Polynomial Regression Channel.

Its a Polynomial Regression Channel but applied a little differently. Wont go into technical details much. Overview of options is as follows-

2. Channel Length:
Default 30 (candles)
You can go beyond 100 or 200 candle lengths but smaller is the usual preference of Poly-Reg-channel traders. It all depends on market conditions and your style of trading. Do your research. I am usually comfortable with a range of 20-50 (in crypto markets).

3. Basis of Channel height/boundries: ATR/Manual
Default: ATR
ATR provides a dynamically adjusted entry/exit bounds of the channels. As ATR changes, the channel bounds also changes its height. It can also be fixed manually. Manual heights wont change automatically.

4. Basis of Y-Value: open/close/ sma / ema / wma /hilow
Default: close
Y- value is the y value of the (x,y) coordinates used while calculating the regression coefficients. Dont worry about it, its nothing serious.

5. Apply channel smoothning using sma?: Yes/No
Default: Yes
Without smoothning, the channel does not «look» good.

Читайте также:  Gtx 550 ti настройка для майнинга

6. Shaded Area Height Percentage:
Its the extra margin for the channel. Its in percentage of the total height (defined 3 above) of channels. The shaded area provides an extra allowance for your entries or exits beyond the ATR or manual heights.

You can develop your own strategy with the channels. But following is just one of the ways you can trade.
Best Application: Ranging markets. But can be happily used in volatile conditions, with a little experience.

3. ATR based heights:
Since its ATR based, the channel height are our natural entry and exit points.
Long:
When price touches lower shaded area, consider possible long entry. Exit on price entering the upper shaded area.
Short:
Enter on upper bound shaded area, exit on lower.

4. RSI:
For additional conformations. Again note, the RSI considers the lower bound of channel as 0 and upper as 100. But since, the channel moves up and down, the RSI will also move not only as RSI but also with the channel. Meaning, say if the RSI is valued at 50, then it will be near the center of the channel but since the center changes as time and price changes, the RSI valued at 50 at different times will not be at the same horizontal level respect to the graph, although it will be at the same level (center) respect to the channel.

5. PRC Channel Percentage label:
This label is at the lower side a bit ahead of the current candle. Provides you info on what is the channel percentage. This is especially helpful in crypto markets to gauge your possible percentage profit where profits can be much higher than forex or other instruments. It can also helps you select a suitable market/instrument if the channels are based on ATR.

6. Extra indicators:
I usually use stochastic along with this setup for extra conformations.

Удалить из избранных скриптов Добавить в избранные скрипты

Источник