L-infinity 표준을 최소화하기 위해 선형 회귀를 해결하는 소프트웨어 패키지가 있습니까?
L-infinity 표준을 최소화하기 위해 선형 회귀를 해결하는 소프트웨어 패키지가 있습니까?
답변:
짧은 대답 : 문제를 선형 프로그램 (LP)으로 공식화 할 수 있으므로 작업에 가장 적합한 LP 솔버를 선택할 수 있습니다. LP로 문제점을 작성하는 방법을 보려면 계속 읽으십시오.
이 최소화 문제는 종종 체비 쇼프 근사라고합니다 .
하자 , 행 는 및 됩니다. 그럼 함수의 최소화하고자 에 대하여 . 최적의 값을 나타냅니다
이것을 LP로 다시 변환하는 열쇠는 문제를 에피 그래프 형식 으로 다시 작성하는 것 입니다. 실제로 라고 스스로를 설득하는 것은 어렵지 않습니다
이제 함수 의 정의를 사용하여 위 오른쪽을 따라서 회귀 설정에서 규범 을 최소화하는 것은 LP 최적화가 완료된 over 및 ones는 길이가 벡터를 나타냅니다 . 독자가 위의 LP를 표준 형식으로 다시 변환하는 (쉬운) 연습으로 남겨 둡니다.
선형 회귀 의 (총 변형) 버전과의 관계
규범으로 매우 유사한 것을 수행 할 수 있다는 점은 흥미 롭습니다 . 이라고하자 . 그런 다음 비슷한 주장으로 인해 해당 LP가
여기서 는 이제 경우 와 같이 스칼라 대신 길이 의 벡터입니다 .
이 두 문제의 유사점과 LP로 캐스트 될 수 있다는 사실은 물론 우연이 아닙니다. 두 규범은 서로의 이중 규범 이라는 점에서 관련이 있습니다.
@ cardinal의 대답은 잘 알려져 있으며 받아 들여졌지만이 스레드를 완전히 닫기 위해 다음을 제공 할 것입니다 .IMSL 숫자 라이브러리 에는 L-infinity norm regression을 수행하는 루틴이 포함되어 있습니다. 이 루틴은 Fortran, C, Java, C # 및 Python에서 사용할 수 있습니다. 나는 메소드가 lnorm_regression을 호출하는 C 및 Python 버전을 사용했으며, 일반적인 회귀, 도 지원합니다 .
이것들은 상업용 라이브러리이지만 파이썬 버전은 비 상업용으로 무료입니다 (맥주 에서처럼).