Row 56307
Content Data
This page contains data entry 56307 from the Axioma AXP content repository. The structured data below represents the complete record for this entry.
Hi all -
I am working on a problem which is a multi-variate timeseries regression problem, in particular, developing a surrogate for a (very slow) physics based simulation.
Inputs:
34 features x 35040 timesteps (15 min interval data for one year) + 90 categorical features (ie static for entire year) with 4-56 options for each category.
Outputs:
8 features x 35040 timesteps
My basic approach is this:
1. (b, 90 features) > embedding layer > MLP network (a few layers, intermittent skip connections etc) > (b, 96 timesteps, m features) ie create a unique latent representation of the categorical features for each interval of a day > repeat x 365 (to get to 35040 timesteps) 2. Concatenate latent timeseries representation of categorical features with the 34 timeseries feature. 3. d_model for mamba is m + 34 (currently working with m=94 so d_model is 128) 4. Chunk the timeseries according to a desired context size and send through mamba and a final linear layer to mix down to the final number of timeseries in the output. Using a single chunk means the entire year is processed in a single pass, whereas using 73 chunks corresponds to 5 days.
Now, the interesting question is what to set as the context/chunking size for Mamba. From a physics perspective, the maximum causal horizon (correct term?) is probably about a day - ie the state of the inputs and system over the last 24 hours are relevant to compute the next timestep in a white box solver, but beyond that the past doesn’t affect the system. However, because the timeseries inputs/timesteps are not IID/uniformly random in the dataset (they theoretically could be mathematically but realistic data is used), it’s of course possible (and at least somewhat likely) that there is mutual information shared between timesteps beyond the causal horizon.
I’m getting pretty decent results with a context size of 480 timesteps (5 days) and backpropping after each chunk (and during inference, processing a whole year in chunks of the same size) but I don’t have any good intuition about tradeoffs of using a larger or smaller context size here besides how it affects the VRAM requirements during training.
I’d love to start a discussion here about it!
Or anything else in this architecture. If you have any good papers that implement a similar approach to combining categorical and timeseries data I would love to see it!
| Field | Value |
|---|---|
| text | Hi all - I am working on a problem which is a multi-variate timeseries regression problem, in particular, developing a surrogate for a (very slow) physics based simulation. Inputs: 34 features x 35040 timesteps (15 min interval data for one year) + 90 categorical features (ie static for entire year) with 4-56 options for each category. Outputs: 8 features x 35040 timesteps My basic approach is this: 1. (b, 90 features) > embedding layer > MLP network (a few layers, intermittent skip con… |
| label | r/machinelearning |
| dataType | post |
| communityName | r/MachineLearning |
| datetime | 2024-05-23 |
| username_encoded | Z0FBQUFBQm5Lak1XaVRHU0lnQkZXaHNoTEJEWDRLRGppWXV2UjFCRjVMSVpUX0JsamhYV2ZuOTRWUVcwTWVLSWdJa2tuRnA0eTNLNzZaczgyREQzNk5RZnlJTHlDaE5PUWVJWGNCT3poRWhCYjh0UEw0QVptdzA9 |
| url_encoded | Z0FBQUFBQm5Lak9tN3B4TDhzdFF3UXk1T0FTMEpOWG9RbnN0YUVtbzBkb3pvbzJxTWxKdTdYcDVXRTVtOGlYWUhwUjByQ1ZkUVppOVhhNDBqYXFjZFBIOS1XTHFCTHVWMTVUN1MzbFplMGdZNmk2S1NvTnBJREdYNjl6YVBhQjlOZnEybDZaQ1MtMEd0YnlxcUJIbE1XUGwzaUw0VUo1TW1LNFhPcHVJaDlBeDlQVnJXRVRSdXI5VXc4b2Z1bUY0ZXdoeHY1c0dSNk1uZDBhdzRqV3hyS2w0MGdHUmt2dXdFUT09 |
Raw Record
{
"text": "Hi all -\n\nI am working on a problem which is a multi-variate timeseries regression problem, in particular, developing a surrogate for a (very slow) physics based simulation.\n\nInputs: \n\n34 features x 35040 timesteps (15 min interval data for one year) + 90 categorical features (ie static for entire year) with 4-56 options for each category. \n\nOutputs:\n\n8 features x 35040 timesteps\n\nMy basic approach is this:\n\n1. (b, 90 features) > embedding layer > MLP network (a few layers, intermittent skip connections etc) > (b, 96 timesteps, m features) ie create a unique latent representation of the categorical features for each interval of a day > repeat x 365 (to get to 35040 timesteps)\n2. Concatenate latent timeseries representation of categorical features with the 34 timeseries feature. \n3. d_model for mamba is m + 34 (currently working with m=94 so d_model is 128)\n4. Chunk the timeseries according to a desired context size and send through mamba and a final linear layer to mix down to the final number of timeseries in the output. Using a single chunk means the entire year is processed in a single pass, whereas using 73 chunks corresponds to 5 days. \n\nNow, the interesting question is what to set as the context/chunking size for Mamba. From a physics perspective, the maximum causal horizon (correct term?) is probably about a day - ie the state of the inputs and system over the last 24 hours are relevant to compute the next timestep in a white box solver, but beyond that the past doesn’t affect the system. However, because the timeseries inputs/timesteps are not IID/uniformly random in the dataset (they theoretically could be mathematically but realistic data is used), it’s of course possible (and at least somewhat likely) that there is mutual information shared between timesteps beyond the causal horizon. \n\nI’m getting pretty decent results with a context size of 480 timesteps (5 days) and backpropping after each chunk (and during inference, processing a whole year in chunks of the same size) but I don’t have any good intuition about tradeoffs of using a larger or smaller context size here besides how it affects the VRAM requirements during training. \n\nI’d love to start a discussion here about it!\n\nOr anything else in this architecture. If you have any good papers that implement a similar approach to combining categorical and timeseries data I would love to see it!",
"label": "r/machinelearning",
"dataType": "post",
"communityName": "r/MachineLearning",
"datetime": "2024-05-23",
"username_encoded": "Z0FBQUFBQm5Lak1XaVRHU0lnQkZXaHNoTEJEWDRLRGppWXV2UjFCRjVMSVpUX0JsamhYV2ZuOTRWUVcwTWVLSWdJa2tuRnA0eTNLNzZaczgyREQzNk5RZnlJTHlDaE5PUWVJWGNCT3poRWhCYjh0UEw0QVptdzA9",
"url_encoded": "Z0FBQUFBQm5Lak9tN3B4TDhzdFF3UXk1T0FTMEpOWG9RbnN0YUVtbzBkb3pvbzJxTWxKdTdYcDVXRTVtOGlYWUhwUjByQ1ZkUVppOVhhNDBqYXFjZFBIOS1XTHFCTHVWMTVUN1MzbFplMGdZNmk2S1NvTnBJREdYNjl6YVBhQjlOZnEybDZaQ1MtMEd0YnlxcUJIbE1XUGwzaUw0VUo1TW1LNFhPcHVJaDlBeDlQVnJXRVRSdXI5VXc4b2Z1bUY0ZXdoeHY1c0dSNk1uZDBhdzRqV3hyS2w0MGdHUmt2dXdFUT09"
}
Entry Information
- Entry ID: 56307
- Repository: Axioma AXP
- Dataset: arrmlet/reddit_dataset_36
- Total Entries: 100,000