OPEN-SOURCE SCRIPT

Machine Learning Regression Trend [LuxAlgo]

The Machine Learning Regression Trend tool uses random sample consensus (RANSAC) to fit and extrapolate a linear model by discarding potential outliers, resulting in a more robust fit.

🔶 USAGE

스냅샷

The proposed tool can be used like a regular linear regression, providing support/resistance as well as forecasting an estimated underlying trend.

Using RANSAC allows filtering out outliers from the input data of our final fit, by outliers we are referring to values deviating from the underlying trend whose influence on a fitted model is undesired. For financial prices and under the assumptions of segmented linear trends, these outliers can be caused by volatile moves and/or periodic variations within an underlying trend.

Adjusting the "Allowed Error" numerical setting will determine how sensitive the model is to outliers, with higher values returning a more sensitive model. The blue margin displayed shows the allowed error area.

스냅샷

The number of outliers in the calculation window (represented by red dots) can also be indicative of the amount of noise added to an underlying linear trend in the price, with more outliers suggesting more noise.

스냅샷

Compared to a regular linear regression which does not discriminate against any point in the calculation window, we see that the model using RANSAC is more conservative, giving more importance to detecting a higher number of inliners.

🔶 DETAILS

RANSAC is a general approach to fitting more robust models in the presence of outliers in a dataset and as such does not limit itself to a linear regression model.

This iterative approach can be summarized as follow for the case of our script:

  • Step 1: Obtain a subset of our dataset by randomly selecting 2 unique samples
  • Step 2: Fit a linear regression to our subset
  • Step 3: Get the error between the value within our dataset and the fitted model at time t, if the absolute error is lower than our tolerance threshold then that value is an inlier
  • Step 4: If the amount of detected inliers is greater than a user-set amount save the model
  • Repeat steps 1 to 4 until the set number of iterations is reached and use the model that maximizes the number of inliers


🔶 SETTINGS

  • Length: Calculation window of the linear regression.
  • Width: Linear regression channel width.
  • Source: Input data for the linear regression calculation.


🔹RANSAC

  • Minimum Inliers: Minimum number of inliers required to return an appropriate model.
  • Allowed Error: Determine the tolerance threshold used to detect potential inliers. "Auto" will automatically determine the tolerance threshold and will allow the user to multiply it through the numerical input setting at the side. "Fixed" will use the user-set value as the tolerance threshold.
  • Maximum Iterations Steps: Maximum number of allowed iterations.
AIforecastforecastingLUXluxalgomachinelearningmlransacregressionregressionsregression-trend-channelSupport and Resistance

오픈 소스 스크립트

진정한 TradingView 정신에 따라, 이 스크립트의 저자는 트레이더들이 이해하고 검증할 수 있도록 오픈 소스로 공개했습니다. 저자에게 박수를 보냅니다! 이 코드는 무료로 사용할 수 있지만, 출판물에서 이 코드를 재사용하는 것은 하우스 룰에 의해 관리됩니다. 님은 즐겨찾기로 이 스크립트를 차트에서 쓸 수 있습니다.

차트에 이 스크립트를 사용하시겠습니까?


Get access to our exclusive tools: luxalgo.com

Join our 150k+ community: discord.gg/lux

All content provided by LuxAlgo is for informational & educational purposes only. Past performance does not guarantee future results.
또한 다음에서도:

면책사항