Làm thế nào để hợp nhất dữ liệu hàng tháng, hàng ngày và hàng tuần?


11

Google Xu hướng trả về dữ liệu hàng tuần nên tôi phải tìm cách hợp nhất chúng với dữ liệu hàng ngày / hàng tháng của mình.

Những gì tôi đã làm cho đến nay là chia từng serie thành dữ liệu hàng ngày, ví dụ:

từ:

2013/03/03 - 2013-03-09 37

đến:

2013/03/03 37 2013-03-04 37 2013 / 03-05 37 2013 / 03-06 37 2013/03/07 37 2013/03/08 37 2013-03-09 37

Nhưng điều này đang thêm rất nhiều phức tạp vào vấn đề của tôi. Tôi đã cố gắng dự đoán các tìm kiếm google từ 6 tháng trước hoặc 6 giá trị trong dữ liệu hàng tháng. Dữ liệu hàng ngày sẽ ngụ ý một công việc về 180 giá trị trong quá khứ. (Tôi có 10 năm dữ liệu nên 120 điểm trong dữ liệu hàng tháng / 500+ dữ liệu hàng tuần / 3500+ trong dữ liệu hàng ngày)

Cách tiếp cận khác là "hợp nhất" dữ liệu hàng ngày trong dữ liệu hàng tuần / hàng tháng. Nhưng một số câu hỏi phát sinh từ quá trình này. Một số dữ liệu có thể được tính trung bình vì tổng của chúng đại diện cho một cái gì đó. Lượng mưa chẳng hạn, lượng mưa trong một tuần nhất định sẽ là tổng số lượng cho mỗi ngày sáng tác trong tuần.

Trong trường hợp của tôi, tôi đang đối phó với giá cả, tỷ lệ tài chính và những thứ khác. Đối với giá cả, thông thường trong lĩnh vực của tôi sẽ tính khối lượng trao đổi, vì vậy dữ liệu hàng tuần sẽ là trung bình có trọng số. Đối với lãi suất tài chính phức tạp hơn một chút, một số công thức có liên quan để xây dựng tỷ lệ hàng tuần từ lãi suất hàng ngày. Đối với những thứ khác tôi không biết các thuộc tính cơ bản. Tôi nghĩ những tính chất đó rất quan trọng để tránh các chỉ số vô nghĩa (trung bình tỷ lệ hôn phu sẽ là vô nghĩa chẳng hạn).

Vì vậy, ba câu hỏi:

Đối với các thuộc tính đã biết và chưa biết, tôi nên tiến hành chuyển từ dữ liệu hàng ngày sang hàng tuần / hàng tháng như thế nào?

Tôi cảm thấy việc chia dữ liệu hàng tuần / hàng tháng thành dữ liệu hàng ngày như tôi đã làm là hơi sai bởi vì tôi đang giới thiệu số lượng không có ý nghĩa trong cuộc sống thực. Vì vậy, gần như cùng một câu hỏi:

Đối với các thuộc tính đã biết và chưa biết, tôi nên tiến hành chuyển từ dữ liệu hàng tuần / hàng tháng sang dữ liệu hàng ngày như thế nào?

Cuối cùng nhưng không kém phần quan trọng: khi đưa ra hai chuỗi thời gian với các bước thời gian khác nhau, điều gì tốt hơn: Sử dụng bước thời gian thấp nhất hoặc lớn nhất? Tôi nghĩ rằng đây là một sự thỏa hiệp giữa số lượng dữ liệu và độ phức tạp của mô hình nhưng tôi không thể thấy bất kỳ đối số mạnh nào để lựa chọn giữa các tùy chọn đó.

Chỉnh sửa: nếu bạn biết một công cụ (trong R Python thậm chí Excel) để làm điều đó một cách dễ dàng thì nó sẽ được đánh giá rất cao.


Đối với python, công cụ tiêu chuẩn là gấu trúc. Nó được thiết kế đặc biệt để đối phó với thời gian dữ liệu tài chính. thời gian gấu trúc
seanv507

Muốn mở rộng một chút về ý nghĩa của "tài sản không xác định"?
TheGrimmSellectist

Câu trả lời:


8

khi đưa ra hai chuỗi thời gian với các bước thời gian khác nhau, điều gì tốt hơn: Sử dụng bước thời gian thấp nhất hoặc lớn nhất?

Đối với phân tích thời gian của bạn, bạn nên thực hiện cả hai: đạt độ chi tiết cao nhất có thể với tập dữ liệu hàng ngày và cũng lặp lại phân tích với tập dữ liệu hàng tháng. Với bộ dữ liệu hàng tháng, bạn có 120 điểm dữ liệu, đủ để có được mô hình thời gian ngay cả với tính thời vụ trong dữ liệu của bạn.

Đối với các thuộc tính đã biết và chưa biết, tôi nên tiến hành chuyển từ dữ liệu hàng ngày sang hàng tuần / hàng tháng như thế nào?

Để có được dữ liệu hàng tuần hoặc hàng tháng từ dữ liệu hàng ngày, bạn có thể sử dụng các chức năng làm mịn. Đối với dữ liệu tài chính, bạn có thể sử dụng làm mịn trung bình hoặc làm mịn theo cấp số nhân, nhưng nếu chúng không hoạt động cho dữ liệu của bạn, thì bạn có thể sử dụng chức năng làm mịn spline "smooth.spline" trong R: https://stat.ethz.ch/R -manual / R-patched / library / stats / html / smooth.spline.html

Mô hình được trả về sẽ có ít nhiễu hơn so với tập dữ liệu hàng ngày ban đầu và bạn có thể nhận các giá trị cho các mốc thời gian mong muốn. Cuối cùng, những điểm dữ liệu này có thể được sử dụng trong phân tích thời gian của bạn.

Đối với các thuộc tính đã biết và chưa biết, tôi nên tiến hành chuyển từ dữ liệu hàng tuần / hàng tháng sang dữ liệu hàng ngày như thế nào?

Để có được dữ liệu hàng ngày khi bạn có dữ liệu hàng tháng hoặc hàng tuần, bạn có thể sử dụng phép nội suy. Đầu tiên, bạn nên tìm một phương trình để mô tả dữ liệu. Để làm điều này, bạn nên vẽ dữ liệu (ví dụ giá theo thời gian). Khi các yếu tố được biết đến với bạn, phương trình này sẽ bị ảnh hưởng bởi các yếu tố đó. Khi các yếu tố chưa được biết, bạn có thể sử dụng một phương trình phù hợp nhất. Đơn giản nhất sẽ là hàm tuyến tính hoặc hàm tuyến tính từng phần, nhưng đối với dữ liệu tài chính thì điều này sẽ không hoạt động tốt. Trong trường hợp đó, bạn nên xem xét nội suy spline khối piecewise. Liên kết này đi sâu vào chi tiết hơn về các hàm nội suy có thể: http://people.math.gatech.edu/~meyer/MA6635/chap2.pdf .

Trong R, có một phương pháp để thực hiện phép nội suy dữ liệu thời gian. Ở đây, bạn sẽ tạo một vectơ với các giá trị hàng tuần và NA trong các khoảng trống cho các giá trị hàng ngày, sau đó sử dụng hàm "interpNA" để lấy các giá trị nội suy cho các NA. Tuy nhiên, hàm này sử dụng hàm "xấp xỉ" để lấy các giá trị nội suy, áp dụng phép nội suy tuyến tính hoặc không đổi. Để thực hiện phép nội suy spline khối trong R, bạn nên sử dụng hàm "splinefun" thay thế.

Một điều cần lưu ý là các mô hình thời gian thường thực hiện một số phép tính trung bình để dự báo các giá trị trong tương lai cho dù bạn đang xem xét các phương pháp làm mịn theo cấp số nhân hoặc phương pháp di chuyển tích hợp tự động (ARIMA) trong số các phương pháp khác. Vì vậy, một mô hình thời gian để dự báo giá trị hàng ngày có thể không phải là lựa chọn tốt nhất, nhưng mô hình hàng tuần hoặc hàng tháng có thể tốt hơn.


Có vẻ là một câu trả lời thực tế. Không chắc chắn nếu điều này được áp dụng cho chuỗi thời gian tài chính vì chênh lệch giá.
lcrmorin

Tôi nghĩ rằng câu trả lời cho câu hỏi của bạn vẫn còn hiệu lực. Đối với mô hình thời gian, bạn có thể muốn xem xét các mô hình ARCH (AutoRegressive Cond điều kiện không đồng nhất).
gchaks

khi bạn nội suy bằng cách sử dụng spline khối, trong chuỗi thời gian tài chính, bạn sẽ không đưa ra xu hướng nhìn về phía trước chứ? tôi nghĩ rằng điều này có thể đặc biệt quan trọng nếu thực hiện cho một mô hình máy học?
tsando

5

Tôi không phải là một chuyên gia trong lĩnh vực này, nhưng tôi tin rằng câu hỏi của bạn liên quan đến việc tập hợp và phân tổ chuỗi thời gian . Nếu đó là trường hợp, đây là một số tài nguyên có liên quan hy vọng, có thể hữu ích trong việc giải quyết vấn đề của bạn (năm mục đầu tiên là chính, nhưng đại diện và hai tài liệu cuối cùng là bổ sung):


2

Đây sẽ không phải là một câu trả lời rất thỏa mãn, nhưng đây là ...

Đối với các thuộc tính đã biết và chưa biết, tôi nên tiến hành chuyển từ dữ liệu hàng ngày sang hàng tuần / hàng tháng như thế nào?

Đối với các thuộc tính đã biết và chưa biết, tôi nên tiến hành chuyển từ dữ liệu hàng tuần / hàng tháng sang dữ liệu hàng ngày như thế nào?

Câu trả lời giống nhau cho cả hai: bạn không thể làm điều này cho các thuộc tính chưa biết và đối với các thuộc tính đã biết, nó sẽ phụ thuộc vào cách các giá trị được tính toán.

Như bạn đã ám chỉ:

(trung bình tỷ lệ hôn phu sẽ là vô nghĩa chẳng hạn)

Không có biến đổi duy nhất nào sẽ phù hợp trong mọi trường hợp, cho dù các thuộc tính / giá trị được biết hay chưa biết. Ngay cả với các thuộc tính đã biết, bạn có thể sẽ cần một phép chuyển đổi duy nhất cho từng loại: trung bình, trung vị, chế độ, tối thiểu, tối đa, boolean, v.v.

khi đưa ra hai chuỗi thời gian với các bước thời gian khác nhau, điều gì tốt hơn: Sử dụng bước thời gian thấp nhất hoặc lớn nhất?

Bất cứ khi nào có thể, cố gắng duy trì mức độ chi tiết đầy đủ của bước nhỏ nhất có thể. Giả sử bạn biết cách chuyển đổi các giá trị, bạn luôn có thể cuộn các bước (ví dụ: ngày này sang tháng, tháng này sang năm khác) ... nhưng bạn không nhất thiết có thể tái tạo các bước nhỏ hơn từ các bước lớn hơn sau khi chuyển đổi mất mát .


2

Đối với các thuộc tính đã biết và chưa biết, tôi nên tiến hành chuyển từ dữ liệu hàng ngày sang hàng tuần / hàng tháng như thế nào?

Tập hợp.

Ví dụ: bạn có số lượng thời gian mọi người tìm kiếm 'widget' mỗi ngày. Cộng tổng số hàng ngày trong một tháng để có được tổng số hàng tháng. Tôi sẽ cần xem chi tiết cụ thể hơn về dữ liệu thực tế được thu thập ở mỗi mức độ chi tiết để cung cấp cho bạn phiên bản hoàn chỉnh hơn.

Đối với các thuộc tính đã biết và chưa biết, tôi nên tiến hành chuyển từ dữ liệu hàng tuần / hàng tháng sang dữ liệu hàng ngày như thế nào?

Bạn không thể.

Trong vật lý, một ý tưởng có thể so sánh là tần số Nyquist . Ý tưởng chung là bạn không thể thêm nhiều thông tin hơn những gì bạn đã có trong dữ liệu của mình mà không mang lại nhiều dữ liệu hơn. Chỉ đưa ra ngày ai đó chạy truy vấn, làm thế nào bạn có thể biết thời gian nào trong ngày truy vấn đó được chạy? Bạn có thể đưa ra một số suy luận, nhưng cách duy nhất để trả lời câu hỏi là trực tiếp hoặc gián tiếp mang lại nhiều thông tin hơn cho hệ thống. Có những điều bạn có thể làm để đưa ra dự đoán ở trạng thái hàng ngày của các biến hàng tháng (như gchaks đã đề cập, nội suy), nhưng dữ liệu của bạn vẫn là dữ liệu hàng tháng về cơ bản được kéo dài để xem hàng ngày.

Khi đưa ra hai chuỗi thời gian với các bước thời gian khác nhau, điều gì tốt hơn: Sử dụng bước Thời gian thấp nhất hoặc lớn nhất?

Điều đó hoàn toàn phụ thuộc vào những gì bạn đang cố gắng trả lời.

Độ hạt nhỏ hơn sẽ nhạy hơn với tiếng ồn và các dị thường khác. Độ chi tiết của lager sẽ có thể trả lời các câu hỏi một cách tự tin hơn, nhưng mất đi một số tính hữu dụng của nó. Ví dụ: nếu bạn đang cố gắng xem khi mọi người bắt đầu tìm kiếm địa điểm để lên kế hoạch cuối tuần để biết khi nào sẽ khởi động các chiến dịch tiếp thị cho một câu lạc bộ đêm mới, bạn sẽ muốn xem xét dữ liệu hàng ngày, nếu không muốn nói là nhỏ hơn. Nếu bạn đang xem xét xu hướng chung của các câu lạc bộ đêm để tìm ra người bạn muốn đầu tư vào, thì hàng tháng có lẽ sẽ tốt hơn.


2

Có thể tổng hợp dữ liệu dựa trên các phân đoạn ngày là một miếng bánh bằng phần mềm Tableau. Bạn chỉ cần cắm dữ liệu của mình vào công cụ và sau đó bạn có thể kéo và thả cả số liệu và kích thước ngày vào không gian thân báo cáo. Tableau sẽ ngay lập tức đánh dấu các hình ảnh tổng hợp và / hoặc các bảng dữ liệu chi tiết một cách nhanh chóng. Bạn có thể nhóm / tổng theo năm, quý, tháng, tuần, ngày, giờ, v.v. (tiêu chuẩn, tích hợp, ngoài chức năng hộp được cung cấp bởi công cụ)

Ngoài ra, nếu bạn muốn kết hợp thêm dữ liệu sau này (mà tôi giả sử là 'thuộc tính không xác định'), bạn có thể nhập một tập dữ liệu khác và dễ dàng thêm vào dữ liệu đầu tiên, miễn là nó cũng cung cấp ngày.

Tôi khuyên bạn nên kiểm tra phiên bản miễn phí, mà tôi tin là được gọi là Tableau Public.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.