효율적인 컨볼 루션 (R)


9

컨벌루션을 계산 / 평가하고 싶습니다

g(x)=Df(xt)ϕ(t)dt,

여기서 는 밀도이고 는 컴팩트 한 지원 의 부드러운 함수입니다 . 컨볼 루션은 닫힌 형태로 제공되지 않으며 숫자로 통합해야합니다. 내 질문은 : 효율적인 방법이 있습니까? R로 구현하고 싶습니다. 그래서 명령을 사용하는 것보다 더 좋은 방법이 있는지 알고 싶습니다 .에프ϕ integrate()


2
상황에 따라 나는 보통 2 개의 빈으로 나누고 빠른 푸리에 변환 ( ?fft)을 사용 하거나을 사용 convolve합니다. fft 접근 방식은 설정하는 데 약간의 작업이 더 필요하지만 여러 번 무언가와 관련이 필요한 경우 더 좋습니다. 때로는 적절한 인수 설정을 convolve로 파악하는 데 시간이 걸립니다.
Glen_b-복지 모니카

@Glen_b 감사합니다. 단 변량 함수 경우 직접 적분이 더 빠를 수 있다고 생각합니다. 에프
Cook

2
효율적인 방법을 요청했습니다. fft는 정말 빠릅니다 . 약간의 설정 (바인딩, 0으로 채움)이 필요합니다.
Glen_b-복지 모니카

@Glen_b 예, fft가 정말 빠르다는 데 동의하지만 이전 단계로 인해 프로세스 속도가 느려질 수 있습니다. 어쨌든 두 방법을 비교할 것입니다. 감사합니다.
Cook

나는 convolve이 목적을 여러 번 사용한 것을 기억 합니다. 간단한 작업 예제는 stats.stackexchange.com/a/41263 , stats.stackexchange.com/a/41255stats.stackexchange.com/a/49444에 나와 있습니다.
whuber

답변:


9

전용 R 패키지를 살펴 보셨습니까? 마찬가지로 convolve, https://stat.ethz.ch/R-manual/R-devel/library/stats/html/convolve.html


감사. 올바르게 이해하면이 패키지는 두 가지 기능이 아닌 복잡한 숫자 시퀀스 용입니다. 뭔가 빠졌습니까?
Cook

2
글쎄, 나는 그 패키지를 사용하지는 않았지만 R에서 컨볼 루션을하려고한다면 기본적으로 함수의 값이 될 두 개의 숫자 시퀀스가 ​​있습니까? R이 함수 정의 작업을 할 수 있다고 생각하지 않습니다.
jmnavarro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.