我正在研究预测角度的模型。什么是转换目标的好方法(目前它们采用0到360度的值),以便近似处理相似的角度?我怀疑离开它们,因为它们现在不是最佳的,因为接近360和0的值相似,但具有完全不同的量值。
答案 0 :(得分:0)
你可以为他们使用正弦和余弦变换!当然,您的模型不会完美地预测它们,因此您需要在预测后重新标准化您的结果。请参阅示例代码:
DROP TABLE some_tab;
CREATE TABLE some_tab (some_id NUMBER, some_date DATE, some_bool NUMBER, some_data VARCHAR2(50));
INSERT INTO some_tab VALUES (001, TO_DATE('11.13.2017', 'MM.DD.YYYY'), 0, 'value 1');
INSERT INTO some_tab VALUES (001, TO_DATE('09.13.2017', 'MM.DD.YYYY'), 1, 'value 2');
INSERT INTO some_tab VALUES (001, TO_DATE('01.01.2017', 'MM.DD.YYYY'), 0, 'value 0');
INSERT INTO some_tab VALUES (002, TO_DATE('06.15.2017', 'MM.DD.YYYY'), 1, 'value 3');
INSERT INTO some_tab VALUES (003, TO_DATE('04.23.2017', 'MM.DD.YYYY'), 1, 'value 4');
INSERT INTO some_tab VALUES (003, TO_DATE('12.13.2017', 'MM.DD.YYYY'), 0, 'value 5');
SELECT * FROM some_tab;
UPDATE some_tab
SET some_bool = 1
WHERE rowid IN (SELECT v.r_id
FROM (SELECT rowid AS r_id, ROW_NUMBER() OVER(PARTITION BY some_id ORDER BY some_date DESC) AS r_num
FROM some_tab) v
WHERE v.r_num = 1);
UPDATE some_tab
SET some_bool = 0
WHERE rowid IN (SELECT v.r_id
FROM (SELECT rowid AS r_id, ROW_NUMBER() OVER(PARTITION BY some_id ORDER BY some_date DESC) AS r_num
FROM some_tab) v
WHERE v.r_num <> 1);
SELECT * FROM some_tab;