강력한 기술과 JMP 18 의 강력한 조합으로 회귀 분석을 강화하세요. 이제 Python과의 원활한 통합이 가능해졌습니다.
간단한 사례 연구
다음은 샘플 데이터 테이블입니다.

- 데이터 테이블에는 99개 행의 시뮬레이션된 데이터가 포함되어 있습니다.
- 데이터는 감지하기 어려운 일부 유형의 이상값을 설명하기 위해 설계되었습니다.
이 샘플 데이터 테이블에서 이상값을 감지할 수 있습니까?
처음에는 단변량 접근 방식을 통해 데이터를 조사할 수 있습니다.


단변량 접근 방식으로는 이상값을 식별할 수 없었습니다.
그러나 범위를 2차원으로 확장하면 이상치가 발생할 수 있습니다.


이전 시나리오는 그래픽 분석을 통해 이상값을 식별할 수 있으므로 그다지 심각하지 않습니다.
그러나 예를 들어 10개를 초과하는 과다한 변수를 처리한다면 어떻게 될까요?
Anscombe 데이터 테이블을 사용한 강력한 중앙값 회귀
이상치의 영향을 완화하기 위해 중앙 회귀와 같은 강력한 회귀 기술을 사용할 수 있습니다.
강력한 중앙값 회귀는 중앙값 회귀를 사용하여 절대 편차를 최소화하고 등분산 가정과 정규 가정을 위반하지 않는 통계 방법입니다.
JMP Pro에서는 " 일반화 회귀 " 특성을 선택하고 " 분위수 회귀 " 분포를 선택하고 적합 모형 플랫폼을 통해 분위수를 0.5 로 지정하여 중앙값 회귀를 쉽게 적용할 수 있습니다.
다음은 JMP 내 샘플 데이터세트 "Anscombe"에 적용된 중앙값 회귀 결과를 보여줍니다.



JMP Pro 18이 아닌 JMP 18을 사용하는 경우 JMP 18의 새로운 기능인 Python 통합을 통해 중앙값 회귀를 적용할 수 있습니다.
import jmp
import jmputils
# Checking installed packages
# jmputils.jpip('list')
dt = jmp.open(jmp.SAMPLE_DATA + "anscombe.jmp")
""""
print(dt.name)
print(f'Number of columns: {dt.ncols}')
dt['y3']
"""
# Install Packages
""""
jmp.run_jsl('''
Python Install Packages("statsmodels")
''')
jmp.run_jsl('''
Python Install Packages("matplotlib")
''')
"""
# Import Modules
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
# Reshape Data
x = np.reshape(dt['x3'],(-1,1))
y = np.reshape(dt['y3'],(-1,1))
print(x)
print(y)
# Mean Regression vs Median Regression
lr = LinearRegression()
lr.fit(x, y)
beta_ls = lr.intercept_, lr.coef_[0]
q = 0.5
rm = sm.QuantReg(y, sm.add_constant(x)).fit(q, prepend=True)
beta_md = rm.params[0], rm.params[1]
# Print Mean & Median Regression Coefficient
print(beta_ls)
print(beta_md)
베타 계수의 출력은 아래와 같이 LOG 창에 나열됩니다.
(array([<FONT color="#0000FF"><STRONG>3.00245455</STRONG></FONT>]), array([<FONT color="#0000FF"><STRONG>0.49972727</STRONG></FONT>]))
(<FONT color="#FF0000"><STRONG>4.009997266957748</STRONG></FONT>, <FONT color="#FF0000"><STRONG>0.34500026527269356</STRONG></FONT>)
참고로 다음 결과는 JMP를 사용하여 계산한 평균 회귀 계수를 나타냅니다.
평균 회귀와 중앙값 회귀 모두에 대해 위의 베타 계수를 비교할 수 있습니다.

결론적 생각;
제공된 데모는 JMP 18의 JMP와 Python 상호 작용에 대한 기본적인 이해를 제공합니다.
JMP 내에서 Python 통합의 강력한 기능을 활용하면 분석 능력을 향상시켜 전문 지식을 넓히고 보다 강력한 통찰력을 얻을 수 있는 흥미로운 기회를 얻을 수 있습니다.
더 쉽게 읽고, 복사하고, 붙여넣을 수 있도록 여기에서 형식을 다시 지정했습니다.
import jmp
# from jmputils import jpip
# jpip('install', 'statsmodels scikit-learn matplotlib numpy pandas')
dt = jmp.open(jmp.SAMPLE_DATA + "anscombe.jmp")
# Import Modules
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
# Reshape Data
x = np.reshape(dt['x3'],(-1,1))
y = np.reshape(dt['y3'],(-1,1))
print(x)
print(y)
# Mean Regression vs Median Regression
lr = LinearRegression()
lr.fit(x, y)
beta_ls = lr.intercept_, lr.coef_[0]
q = 0.5
rm = sm.QuantReg(y, sm.add_constant(x)).fit(q, prepend=True)
beta_md = rm.params[0], rm.params[1]
# Print Mean & Median Regression Coefficient
print(beta_ls)
print(beta_md)
@lala 불편을 끼쳐드려 죄송합니다. 현재 JMP 18 평가판에 액세스할 수 없습니다. 하지만 안심하세요. 우리는 JMP의 새로운 평가판을 곧 출시할 수 있도록 열심히 노력하고 있습니다. 귀하의 인내와 이해에 감사드립니다.