利用强大的技术和JMP 18的强大组合增强您的回归分析,现在可以与 Python 无缝集成。
简单案例研究
这是一个示例数据表。

- 数据表包含99行模拟数据
- 数据旨在说明某些难以检测的异常值类型
您能检测出该样本数据表中的异常值吗?
首先,我们可以通过单变量方法检查数据。


我们无法使用单变量方法识别异常值。
然而,如果我们将范围扩大到二维,我们可能会遇到异常值。


上述情况并不是太糟糕,因为我们可以通过图形分析识别异常值。
然而,如果我们要处理大量的变量,比如超过 10 个,该怎么办?
使用 Anscombe 数据表进行稳健中值回归
为了减轻异常值的影响,我们可以采用中值回归等稳健回归技术。
稳健中值回归是一种统计方法,它使用中值回归来最小化绝对偏差,并能抵抗同方差和正态假设的违反。
在 JMP Pro 中,通过选择“广义回归”特性并选择“分位数回归”分布,轻松应用中位数回归,通过拟合模型平台将分位数指定为0.5 。
以下展示了在 JMP 中对样本数据集“Anscombe”应用中值回归的结果。



如果您使用的是 JMP 18,而不是 JMP Pro 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 计算的平均回归系数。
您可以比较上述均值回归和中位数回归的 beta 系数。

总结性想法;
提供的演示提供了对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)
@拉拉 给您带来的不便,我们深表歉意。目前,JMP 18 试用版无法访问。不过,请放心,我们正在努力尽快推出新的 JMP 试用版。感谢您的耐心和理解。