L 무한 표준 선형 회귀 문제를 해결하기위한 소프트웨어 패키지


10

L-infinity 표준을 최소화하기 위해 선형 회귀를 해결하는 소프트웨어 패키지가 있습니까?


글쎄, 모든 선형 프로그래밍 패키지가 작동합니다. 많은 옵션이 있습니다. :)
추기경

1
@Cardinal이 프로그램을 선형 프로그램으로 어떻게 다시 변환하겠습니까? 사소한 경우 (예 : 두 개의 데이터 요소 및 하나의 매개 변수)에서도이를 수행하는 방법은 분명하지 않습니다. 제약 조건이없고 목적 함수가 비선형입니다.
whuber

핵심 문구 : 체비 쇼프 근사치. (따라서 더 많은 아이디어. 추가 변수 를 도입 한 다음 목표를 제약 조건으로 전환하는 것이 아이디어입니다 .)
추기경

@cardinal 당신은 이것을 의미합니다 : mathworld.wolfram.com/ChebyshevApproximationFormula.html 그것은 꽤 복잡해 보입니다.
Fan Zhang

글쎄, 그것은 조금 관련이 있지만이 문제와 관련이 없습니다. 간단한 LP로 문제를 해결할 수 있습니다. 컴퓨터에 도착하자마자 답을 게시하겠습니다.
추기경

답변:


17

짧은 대답 : 문제를 선형 프로그램 (LP)으로 공식화 할 수 있으므로 작업에 가장 적합한 LP 솔버를 선택할 수 있습니다. LP로 문제점을 작성하는 방법을 보려면 계속 읽으십시오.

이 최소화 문제는 종종 체비 쇼프 근사라고합니다 .

하자 , 행 는 및 됩니다. 그럼 함수의 최소화하고자 에 대하여 . 최적의 값을 나타냅니다 y=(yi)RnXRn×pixiβRpf(β)=yXββ

f=f(β)=inf{f(β):βRp}.

이것을 LP로 다시 변환하는 열쇠는 문제를 에피 그래프 형식 으로 다시 작성하는 입니다. 실제로 라고 스스로를 설득하는 것은 어렵지 않습니다

f=inf{t:f(β)t,tR,βRp}.

이제 함수 의 정의를 사용하여 위 오른쪽을 따라서 회귀 설정에서 규범 을 최소화하는 것은 LP 최적화가 완료된 over 및 ones는 길이가 벡터를 나타냅니다 . 독자가 위의 LP를 표준 형식으로 다시 변환하는 (쉬운) 연습으로 남겨 둡니다.f

f=inf{t:tyixiβt,tR,βRp,1in},
minimizetsubject toyXβt1nyXβt1n,
(β,t)1nn

선형 회귀 의 (총 변형) 버전과의 관계1

규범으로 매우 유사한 것을 수행 할 수 있다는 점은 흥미 롭습니다 . 이라고하자 . 그런 다음 비슷한 주장으로 인해 해당 LP가 1g(β)=yXβ1

g=inf{tT1n:tiyixiβti,t=(ti)Rn,βRp,1in},
minimizetT1nsubject toyXβtyXβt.

여기서 는 이제 경우 와 같이 스칼라 대신 길이 의 벡터입니다 .tn

이 두 문제의 유사점과 LP로 캐스트 될 수 있다는 사실은 물론 우연이 아닙니다. 두 규범은 서로의 이중 규범 이라는 점에서 관련이 있습니다.


모수 및 / 또는 예측에 대한 정밀도를 어떻게 찾을 수 있습니까? 나는 다음 이유로 인해 최근 질문을 물어 mathematica.stackexchange.com/questions/214226/...를 .
JimB

3

Malab는 cvx를 사용하여 그렇게 할 수 있습니다. cvx를 얻으려면 (무료) :

http://cvxr.com/cvx/download/

cvx에서는 다음과 같이 작성합니다.

cvx_begin
   variable x(n);
   minimize( norm(A*x-b,Inf) );
cvx_end

( 매뉴얼의 12 페이지 예 확인 )

CVX ( here ) 의 Python 구현이 있지만 명령이 약간 다릅니다.


1

@ cardinal의 대답은 잘 알려져 있으며 받아 들여졌지만이 스레드를 완전히 닫기 위해 다음을 제공 할 것입니다 .IMSL 숫자 라이브러리 에는 L-infinity norm regression을 수행하는 루틴이 포함되어 있습니다. 이 루틴은 Fortran, C, Java, C # 및 Python에서 사용할 수 있습니다. 나는 메소드가 lnorm_regression을 호출하는 C 및 Python 버전을 사용했으며, 일반적인 회귀, 도 지원합니다 .Lpp>=1

이것들은 상업용 라이브러리이지만 파이썬 버전은 비 상업용으로 무료입니다 (맥주 에서처럼).


불행히도, 링크는 더 이상 작동하지 않습니다. 업데이트 할 수 있습니까?
COOLSerdash 2009 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.