{
  "id": 403261,
  "title": "No one knows the best way to make graphs",
  "url": "/competitions/icecube-neutrinos-in-deep-ice/discussion/403261",
  "author_name": "",
  "post_date": "2023-04-22T04:05:02.279513800Z",
  "votes": 1,
  "comment_count": 4,
  "views": 0,
  "content": "<p>I think one of the reasons why GNN could not achieve remarkable results is that no one knows the best way to make graphs.<br>\nI tried to improve DynEdge. I focused on how to make graphs and thought there were better graphs than kNN Graphs. However, all of my ideas of how to make graphs failed to make significant improvements.<br>\nAfter the competition was over, I was looking forward to learning better ways to make graphs, but few of the published solutions achieved good scores by using only GNN with graphs made in different ways.<br>\nAnyone made significant improvements by using graphs other than the kNN Graphs?</p>",
  "messages": [
    {
      "id": "2230142",
      "postDate": "04/22/2023 04:05:02",
      "content": "<p>I think one of the reasons why GNN could not achieve remarkable results is that no one knows the best way to make graphs.<br>\nI tried to improve DynEdge. I focused on how to make graphs and thought there were better graphs than kNN Graphs. However, all of my ideas of how to make graphs failed to make significant improvements.<br>\nAfter the competition was over, I was looking forward to learning better ways to make graphs, but few of the published solutions achieved good scores by using only GNN with graphs made in different ways.<br>\nAnyone made significant improvements by using graphs other than the kNN Graphs?</p>",
      "rawMarkdown": "I think one of the reasons why GNN could not achieve remarkable results is that no one knows the best way to make graphs.\nI tried to improve DynEdge. I focused on how to make graphs and thought there were better graphs than kNN Graphs. However, all of my ideas of how to make graphs failed to make significant improvements.\nAfter the competition was over, I was looking forward to learning better ways to make graphs, but few of the published solutions achieved good scores by using only GNN with graphs made in different ways.\nAnyone made significant improvements by using graphs other than the kNN Graphs?",
      "votes": null
    },
    {
      "id": "2230405",
      "postDate": "04/22/2023 10:44:13",
      "content": "<p>Fun! Looking forward to your research</p>",
      "rawMarkdown": "Fun! Looking forward to your research",
      "votes": null
    },
    {
      "id": "2230494",
      "postDate": "04/22/2023 12:22:37",
      "content": "<p>I tried radius graph for a while but  gave up  due to</p>\n<ol>\n<li>It took too much time to check the performance</li>\n<li>memory issue</li>\n<li>I haven't really found a reason why I should use this graph.</li>\n</ol>",
      "rawMarkdown": "I tried radius graph for a while but  gave up  due to\n1. It took too much time to check the performance\n2. memory issue\n3. I haven't really found a reason why I should use this graph.",
      "votes": null
    },
    {
      "id": "2230525",
      "postDate": "04/22/2023 13:06:52",
      "content": "<p>I would be very interested in hearing what you've attempted at what you've found! So please consider sharing this information.</p>",
      "rawMarkdown": "I would be very interested in hearing what you've attempted at what you've found! So please consider sharing this information.",
      "votes": null
    },
    {
      "id": "2234663",
      "postDate": "04/25/2023 11:44:33",
      "content": "<p>My research may not be very helpful because of the way the evaluation was done.<br>\nI used GNNs for position correction. The directions were predicted by the dual time-weighted centers of the points with the corrected position.<br>\nSince it is time-consuming to train GNNs, when testing different types of graphs, I hypothesized that for good graphs, simply taking the average of neighbouring nodes could provide good position correction, and evaluated the predictions using the corrected positions by the average of neighboring nodes without any training. <br>\nI have tested the following four metrics for putting an edge between two nodes.</p>\n<ol>\n<li>Distance<br>\n$$<br>\n\\sqrt{(x_j - x_i)^2 + (y_j - y_i)^2 + (z_j - z_i)^2}<br>\n$$</li>\n<li>Time difference<br>\n$$<br>\nt_j - t_i<br>\n$$</li>\n<li>Minkowski metric<br>\n$$<br>\nv^2(t_j - t_i)^2 - (x_j - x_i)^2 - (y_j - y_i)^2 - (z_j - z_i)^2<br>\n$$($v$  is the speed of light in ice.)</li>\n</ol>\n<p>As a result, the best was$$<br>\nv^2(t_j - t_i)^2 - (x_j - x_i)^2 - (y_j - y_i)^2 - (z_j - z_i)^2 &gt; - 115^2 \\ \\ \\text{and} \\ \\ t_j - t_i &gt; 0<br>\n$$I used this criterion to create graph data and trained GNN on them, but did not get better performance than DynEdge.</p>",
      "rawMarkdown": "My research may not be very helpful because of the way the evaluation was done.\nI used GNNs for position correction. The directions were predicted by the dual time-weighted centers of the points with the corrected position.\nSince it is time-consuming to train GNNs, when testing different types of graphs, I hypothesized that for good graphs, simply taking the average of neighbouring nodes could provide good position correction, and evaluated the predictions using the corrected positions by the average of neighboring nodes without any training. \nI have tested the following four metrics for putting an edge between two nodes.\n1. Distance\n  $$\n  \\sqrt{(x_j - x_i)^2 + (y_j - y_i)^2 + (z_j - z_i)^2}\n  $$\n2. Time difference\n$$\nt_j - t_i\n$$\n3. Minkowski metric\n$$\nv^2(t_j - t_i)^2 - (x_j - x_i)^2 - (y_j - y_i)^2 - (z_j - z_i)^2\n$$($v$  is the speed of light in ice.)\n\nAs a result, the best was$$\nv^2(t_j - t_i)^2 - (x_j - x_i)^2 - (y_j - y_i)^2 - (z_j - z_i)^2 > - 115^2 \\ \\ \\text{and} \\ \\ t_j - t_i > 0\n$$I used this criterion to create graph data and trained GNN on them, but did not get better performance than DynEdge.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2230405,
      "author_name": "mewmlelswm",
      "author_url": "",
      "post_date": "04/22/2023 10:44:13",
      "content": "<p>Fun! Looking forward to your research</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2230494,
      "author_name": "atom1231",
      "author_url": "",
      "post_date": "04/22/2023 12:22:37",
      "content": "<p>I tried radius graph for a while but  gave up  due to</p>\n<ol>\n<li>It took too much time to check the performance</li>\n<li>memory issue</li>\n<li>I haven't really found a reason why I should use this graph.</li>\n</ol>",
      "votes": null,
      "replies": []
    },
    {
      "id": 2230525,
      "author_name": "rasmusrse",
      "author_url": "",
      "post_date": "04/22/2023 13:06:52",
      "content": "<p>I would be very interested in hearing what you've attempted at what you've found! So please consider sharing this information.</p>",
      "votes": null,
      "replies": [
        {
          "id": 2234663,
          "author_name": "gyozzza",
          "author_url": "",
          "post_date": "04/25/2023 11:44:33",
          "content": "<p>My research may not be very helpful because of the way the evaluation was done.<br>\nI used GNNs for position correction. The directions were predicted by the dual time-weighted centers of the points with the corrected position.<br>\nSince it is time-consuming to train GNNs, when testing different types of graphs, I hypothesized that for good graphs, simply taking the average of neighbouring nodes could provide good position correction, and evaluated the predictions using the corrected positions by the average of neighboring nodes without any training. <br>\nI have tested the following four metrics for putting an edge between two nodes.</p>\n<ol>\n<li>Distance<br>\n$$<br>\n\\sqrt{(x_j - x_i)^2 + (y_j - y_i)^2 + (z_j - z_i)^2}<br>\n$$</li>\n<li>Time difference<br>\n$$<br>\nt_j - t_i<br>\n$$</li>\n<li>Minkowski metric<br>\n$$<br>\nv^2(t_j - t_i)^2 - (x_j - x_i)^2 - (y_j - y_i)^2 - (z_j - z_i)^2<br>\n$$($v$  is the speed of light in ice.)</li>\n</ol>\n<p>As a result, the best was$$<br>\nv^2(t_j - t_i)^2 - (x_j - x_i)^2 - (y_j - y_i)^2 - (z_j - z_i)^2 &gt; - 115^2 \\ \\ \\text{and} \\ \\ t_j - t_i &gt; 0<br>\n$$I used this criterion to create graph data and trained GNN on them, but did not get better performance than DynEdge.</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2230142": "I think one of the reasons why GNN could not achieve remarkable results is that no one knows the best way to make graphs.\nI tried to improve DynEdge. I focused on how to make graphs and thought there were better graphs than kNN Graphs. However, all of my ideas of how to make graphs failed to make significant improvements.\nAfter the competition was over, I was looking forward to learning better ways to make graphs, but few of the published solutions achieved good scores by using only GNN with graphs made in different ways.\nAnyone made significant improvements by using graphs other than the kNN Graphs?",
    "2230405": "Fun! Looking forward to your research",
    "2230494": "I tried radius graph for a while but  gave up  due to\n1. It took too much time to check the performance\n2. memory issue\n3. I haven't really found a reason why I should use this graph.",
    "2230525": "I would be very interested in hearing what you've attempted at what you've found! So please consider sharing this information.",
    "2234663": "My research may not be very helpful because of the way the evaluation was done.\nI used GNNs for position correction. The directions were predicted by the dual time-weighted centers of the points with the corrected position.\nSince it is time-consuming to train GNNs, when testing different types of graphs, I hypothesized that for good graphs, simply taking the average of neighbouring nodes could provide good position correction, and evaluated the predictions using the corrected positions by the average of neighboring nodes without any training. \nI have tested the following four metrics for putting an edge between two nodes.\n1. Distance\n  $$\n  \\sqrt{(x_j - x_i)^2 + (y_j - y_i)^2 + (z_j - z_i)^2}\n  $$\n2. Time difference\n$$\nt_j - t_i\n$$\n3. Minkowski metric\n$$\nv^2(t_j - t_i)^2 - (x_j - x_i)^2 - (y_j - y_i)^2 - (z_j - z_i)^2\n$$($v$  is the speed of light in ice.)\n\nAs a result, the best was$$\nv^2(t_j - t_i)^2 - (x_j - x_i)^2 - (y_j - y_i)^2 - (z_j - z_i)^2 > - 115^2 \\ \\ \\text{and} \\ \\ t_j - t_i > 0\n$$I used this criterion to create graph data and trained GNN on them, but did not get better performance than DynEdge."
  },
  "source": "meta"
}