알글리브에는 이중 상관관계 계산 함수가 있습니다. 모든 변수를 char/uchar로 변경하면 모든 것이 작동할 것 같습니다. 다른 수십 개의 사용 된 함수도 다시 실행해야 합니다. 그리고 CMatrixDouble에서 동적 배열이나 다른 것으로 전환해야 합니다.
Pearson product-moment correlation matrix | //| INPUT PARAMETERS: | //| X - array[N,M], sample matrix: | //| * J-th column corresponds to J-th variable | //| * I-th row corresponds to I-th observation | //| N - N>=0, number of observations: | //| * if given, only leading N rows of X are used | //| * if not given, automatically determined from input | //| size | //| M - M>0, number of variables: | //| * if given, only leading M columns of X are used | //| * if not given, automatically determined from input | //| size | //| OUTPUT PARAMETERS: | //| C - array[M,M], correlation matrix (zero if N=0 or N=1) | //+------------------------------------------------------------------+ static bool CBaseStat::PearsonCorrM(const CMatrixDouble &cx,const int n, const int m,CMatrixDouble &c)
그리고 직접 만든 프로그램이 있는 경우, 이를 수행하는 기성 패키지가 없다면 수량화도 수행해야 합니다.
제가 멍청한 것 같아요... 남파이를 통해 계산하는 것이 매우 빠릅니다 ) 팬더를 통해 계산하는 것은 길고 메모리가 많이 소모됩니다. 나중에 다시 확인해 보겠습니다.
행렬이 없으면 아무것도 찾지 못하거나 단편적인 부분을 선택하게 되고, 가능한 모든 변형을 세게 됩니다.
따라서 각 행을 가져와서 다른 모든 행과의 상관관계를 계산해야 행렬을 얻을 수 있습니다.
15~16년에도 비슷한 작업을 했었습니다. 예를 들어 최근 20~50개 막대의 현재 상황을 가져와서 가장 유사한 20개의 사례를 검색했습니다. 그리고 그 20개의 예시에서 평균 미래를 그렸습니다. 거의 항상 +-5 포인트의 직선을 얻었습니다. 그 당시에는 5포인트의 수익이 노이즈의 가장자리에서 약간 작아 보였습니다. 결국 나는 그것이 더 커지기를 바라면서 MO로 전환했습니다. 하지만 여기에서도 마찬가지입니다. 일반적으로 클러스터링과 유사합니다. 여기에서는 예제의 유사성이 극대화됩니다. .
트리의 분류/회귀는 이러한 예의 미래 유사성을 최대화합니다. 과거의 유사성을 악화시킵니다.
Корреляционная матрица между строками заданных признаков. берется статистика по всем строкам как было в будущем в среднем. в тестере ищем корреляцию текущих значений с эталоном. Но я делаю в питоне и считаю корреляцию сразу для всех возможных пар
SQL을 통해 읽는 것이 효율적일까요?
내 인생에서 절대로
....
아파치 Arrow나 DuckDB를 사용해 보세요.
하지만 여전히 RAM이 가장 빠른 방법입니다.
.....
문제 자체는 G...ugly를 통해 해결되며, 문제는 필요하지 않은 cor. 행렬입니다.
알글리브에는 이중 상관관계 계산 함수가 있습니다. 모든 변수를 char/uchar로 변경하면 모든 것이 작동할 것 같습니다. 다른 수십 개의 사용 된 함수도 다시 실행해야 합니다. 그리고 CMatrixDouble에서 동적 배열이나 다른 것으로 전환해야 합니다.
//| INPUT PARAMETERS: |
//| X - array[N,M], sample matrix: |
//| * J-th column corresponds to J-th variable |
//| * I-th row corresponds to I-th observation |
//| N - N>=0, number of observations: |
//| * if given, only leading N rows of X are used |
//| * if not given, automatically determined from input |
//| size |
//| M - M>0, number of variables: |
//| * if given, only leading M columns of X are used |
//| * if not given, automatically determined from input |
//| size |
//| OUTPUT PARAMETERS: |
//| C - array[M,M], correlation matrix (zero if N=0 or N=1) |
//+------------------------------------------------------------------+
static bool CBaseStat::PearsonCorrM(const CMatrixDouble &cx,const int n,
const int m,CMatrixDouble &c)
그리고 직접 만든 프로그램이 있는 경우, 이를 수행하는 기성 패키지가 없다면 수량화도 수행해야 합니다.
제가 멍청한 것 같아요... 남파이를 통해 계산하는 것이 매우 빠릅니다 ) 팬더를 통해 계산하는 것은 길고 메모리가 많이 소모됩니다. 나중에 다시 확인해 보겠습니다.
패턴 없음, 패턴은 상관 매트릭스로 검색됩니다.
제가 이해하지 못하는 것이 있을 수 있습니다.
제가 이해하지 못하는 부분이 있을 수 있습니다.
패턴 = 서로 상관관계가 높은 전체 샘플 집합입니다.
전체 데이터 세트에는 이러한 패턴이 여러 개 있을 수 있으며, 각 패턴은 기록에서 일치하는 횟수가 다를 수 있습니다.
매트릭스가 없으면 아무것도 찾지 못하거나 단편적인 부분만 골라서 가능한 모든 변형을 세게 됩니다.
따라서 각 행을 가져와 다른 모든 행과의 상관관계를 계산해야 행렬을 얻을 수 있습니다.패턴 = 서로 상관관계가 높은 전체 샘플 세트
전체 데이터 세트에 이러한 세트가 많이 있을 수 있습니다.
행렬이 없으면 아무것도 찾지 못하거나 단편적인 부분을 선택하게 되고, 가능한 모든 변형을 세게 됩니다.
따라서 각 행을 가져와서 다른 모든 행과의 상관관계를 계산해야 행렬을 얻을 수 있습니다.일반적으로 클러스터링과 유사합니다.
여기에서는 예제의 유사성이 극대화됩니다.
.
트리의 분류/회귀는 이러한 예의 미래 유사성을 최대화합니다. 과거의 유사성을 악화시킵니다.
또한 오래 전에 비슷한 일을했는데 지금은 새로운 생각으로 다시하고 있습니다.
패턴 = 서로 상관관계가 높은 전체 샘플 세트
전체 데이터 세트에 이러한 패턴이 여러 개 있을 수 있으며, 각각 기록에서 일치하는 횟수가 다를 수 있습니다.
매트릭스가 없으면 아무것도 찾지 못하거나 단편적인 부분만 골라서 가능한 모든 변형을 세게 됩니다.
따라서 각 행을 가져와 다른 모든 행과의 상관관계를 계산해야 행렬을 얻을 수 있습니다.우리는 3차원 데이터를 가지고 있습니다.
행은 관측값이고 열은 특성입니다.
첫 번째 행은 가장 최근 데이터와 같습니다.
마지막 행과 다른 각 행의 상관관계를 계산할 수 있습니다.
그리고 마지막/현재 행과 기록 사이의 '유사성 패턴'을 얻을 수 있습니다.
클러스터링을 수행하여 이와 같은 결과를 얻을 수도 있습니다.
하지만 현재/마지막 행에 대한 상황만 알면 되는데 왜 전체 상관관계 행렬을 계산해야 하는지 이해가 되지 않습니다.
여기서 생각의 깊이는 무엇인가요?
한 번에 모든 패턴을 찾겠다는 건가요? 모든 패턴이 필요한 건가요? 아니면 현재 상황과 마지막 관찰에 해당하는 패턴이 필요한 건가요?
3차원 데이터가 있습니까?
행은 관측값이고 열은 특성입니다.
첫 번째 행은 가장 최근 데이터와 같습니다.
마지막 행과 다른 각 행의 상관관계를 계산할 수 있습니다.
그리고 마지막/현재 행과 기록 사이에 다음과 같은 '유사성 패턴'을 얻을 수 있습니다.
클러스터링을 수행하여 이와 같은 결과를 얻을 수도 있습니다.
하지만 현재 / 마지막 행에 대한 상태 만 필요한 경우 전체 상관 관계 행렬을 계산해야하는 이유를 이해하지 못합니다.
여기서 생각의 깊이는 무엇인가요?
한 번에 모든 패턴을 찾을 수 있고 모든 패턴이 필요합니까, 아니면 현재 상황과 마지막 관찰에 해당하는 패턴이 필요합니까?
현재가 아니라 기록 검색입니다.
그런 다음 메트릭에 따라 패턴을 정렬한 다음 가장 적합한 패턴을 봇에 꿰매면 됩니다.
현재가 아니라 기록 검색일 뿐입니다.
RAM 측면에서 거의 무료로 한 번에 하나의 패턴을 검색 할 수 있는데, 특정 순간에 모든 패턴이 아닌 하나의 패턴 만있을 수 있다면 전체 기록의 모든 패턴을보고 싶은 이유는 무엇입니까?
아니면 제가 이해하지 못하는 건가요?
RAM 측면에서 거의 무료로 한 번에 하나의 패턴을 검색 할 수 있는데, 특정 순간에 모든 패턴이 아닌 하나의 패턴 만있을 수 있다면 전체 기록의 모든 패턴을보고 싶은 이유는 무엇입니까?
아니면 제가 이해하지 못하는 건가요?
모든 항목을 살펴보고 새 데이터로 확인할 수 있는 가장 좋은 항목을 선택해야 합니다.
#32456