如何转换非线性关系以使其成为线性关系?

机器算法验证 r 数据转换
2022-03-23 14:20:54

我有一些数据遵循如下图所示的非线性关系。非线性数据并非直接来自下面代码中编写的显式函数!

x1 <- seq(-1,-0.0001,len=500)
x2 <- seq(0.0001,1,len=500)
df <- data.frame(x=c(x1,x2),y=c(1-0.0001^x1,0.0001^(-x2)-1))
plot(df[,1],df[,2],type="p")

在此处输入图像描述

x鉴于和中都有负值y,我该如何转换这些数据?这甚至可能吗?如果这是可能的,那么这种转变的影响是什么?

1个回答

在这个问题中,两个变量之间有明确的函数关系:

y=sgn(x)(104|x|1).

您可以使用以下方法获得转换后的变量之间的线性关系:

sgn(y)log10(1+|y|)=4x.