{
  "id": 197528,
  "title": "Usage of elapsed time in the paper SAINT+",
  "url": "/competitions/riiid-test-answer-prediction/discussion/197528",
  "author_name": "",
  "post_date": "2020-11-16T22:56:17.702044400Z",
  "votes": 36,
  "comment_count": 5,
  "views": 0,
  "content": "<p>In the paper <a href=\"https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/193250\" target=\"_blank\">SAINT+: A Transformer-based model for correctness prediction</a>, the authors use a <code>elapsed time</code> between a response and its corresponding questions. Like</p>\n<p><img src=\"https://i.ibb.co/DtzQ7h5/Capture3.png\" alt=\"in this picture from the paper\"></p>\n<p>And they claim </p>\n<blockquote>\n  <p>If the student does not have enough knowledge and skills for the exercise, it would be hard to respond correctly within the recommended time limit. Hence, elapsed time provides strong evidence for a student’s proficiency in knowledge and skills, and student’s understanding of concepts associated with the exercise.</p>\n</blockquote>\n<p>However, in reality, when we are at the moment having a question in hand and we want to predict if a student will be able to answer correctly, this <code>elapsed time</code> information shouldn't exist at that time.</p>\n<p>For example, if the real life application of the model is to accurately predict how students will perform on future interactions and make students enjoy the benefits of a personalized learning experience, we must predict the probability of answer correction among a set of questions, before the students answering it (them).</p>\n<p>In this competition, we have <code>prior_question_elapsed_time</code>, but this is the (averaged) time  used to answer each question in the PREVIOUS bundle.</p>\n<p>So I am confused if it is a reasonable solution proposed in  <a href=\"https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/193250\" target=\"_blank\">SAINT+: A Transformer-based model for correctness prediction</a>. I don't mean to criticize, but I am wondering other people's thought on this. Thank you.</p>",
  "messages": [
    {
      "id": "1081198",
      "postDate": "11/16/2020 22:56:17",
      "content": "<p>In the paper <a href=\"https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/193250\" target=\"_blank\">SAINT+: A Transformer-based model for correctness prediction</a>, the authors use a <code>elapsed time</code> between a response and its corresponding questions. Like</p>\n<p><img src=\"https://i.ibb.co/DtzQ7h5/Capture3.png\" alt=\"in this picture from the paper\"></p>\n<p>And they claim </p>\n<blockquote>\n  <p>If the student does not have enough knowledge and skills for the exercise, it would be hard to respond correctly within the recommended time limit. Hence, elapsed time provides strong evidence for a student’s proficiency in knowledge and skills, and student’s understanding of concepts associated with the exercise.</p>\n</blockquote>\n<p>However, in reality, when we are at the moment having a question in hand and we want to predict if a student will be able to answer correctly, this <code>elapsed time</code> information shouldn't exist at that time.</p>\n<p>For example, if the real life application of the model is to accurately predict how students will perform on future interactions and make students enjoy the benefits of a personalized learning experience, we must predict the probability of answer correction among a set of questions, before the students answering it (them).</p>\n<p>In this competition, we have <code>prior_question_elapsed_time</code>, but this is the (averaged) time  used to answer each question in the PREVIOUS bundle.</p>\n<p>So I am confused if it is a reasonable solution proposed in  <a href=\"https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/193250\" target=\"_blank\">SAINT+: A Transformer-based model for correctness prediction</a>. I don't mean to criticize, but I am wondering other people's thought on this. Thank you.</p>",
      "rawMarkdown": "In the paper [SAINT+: A Transformer-based model for correctness prediction](https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/193250), the authors use a `elapsed time` between a response and its corresponding questions. Like\n\n![in this picture from the paper](https://i.ibb.co/DtzQ7h5/Capture3.png)\n\nAnd they claim \n\n> If the student does not have enough knowledge and skills for the exercise, it would be hard to respond correctly within the recommended time limit. Hence, elapsed time provides strong evidence for a student’s proficiency in knowledge and skills, and student’s understanding of concepts associated with the exercise.\n\nHowever, in reality, when we are at the moment having a question in hand and we want to predict if a student will be able to answer correctly, this `elapsed time` information shouldn't exist at that time.\n\nFor example, if the real life application of the model is to accurately predict how students will perform on future interactions and make students enjoy the benefits of a personalized learning experience, we must predict the probability of answer correction among a set of questions, before the students answering it (them).\n\nIn this competition, we have `prior_question_elapsed_time`, but this is the (averaged) time  used to answer each question in the PREVIOUS bundle.\n\nSo I am confused if it is a reasonable solution proposed in  [SAINT+: A Transformer-based model for correctness prediction](https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/193250). I don't mean to criticize, but I am wondering other people's thought on this. Thank you.",
      "votes": null
    },
    {
      "id": "1081849",
      "postDate": "11/17/2020 10:42:23",
      "content": "<p>This was exactly my thought while reading the paper :) We should only use <code>prior_question_elapsed_time</code>, while they used <code>present_question_elapsed_time</code>. </p>",
      "rawMarkdown": "This was exactly my thought while reading the paper :) We should only use `prior_question_elapsed_time`, while they used `present_question_elapsed_time`.",
      "votes": null
    },
    {
      "id": "1081891",
      "postDate": "11/17/2020 11:28:04",
      "content": "<p>If I understood correctly: in the paper they add a start token to the elapsed time like they did with the response variable. So for example the current exercise id <code>e2</code> corresponds to <code>et1</code> i.e. the prior question elapsed time  <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F474194%2F3b93deaf5be6f03c0bb85e672d6ccdd3%2FScreenshot%202020-11-17%20at%2012.15.18.png?generation=1605611931952141&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "If I understood correctly: in the paper they add a start token to the elapsed time like they did with the response variable. So for example the current exercise id `e2` corresponds to `et1` i.e. the prior question elapsed time  ![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F474194%2F3b93deaf5be6f03c0bb85e672d6ccdd3%2FScreenshot%202020-11-17%20at%2012.15.18.png?generation=1605611931952141&alt=media)",
      "votes": null
    },
    {
      "id": "1083390",
      "postDate": "11/18/2020 23:33:09",
      "content": "<p>You are right, thank you for helping</p>",
      "rawMarkdown": "You are right, thank you for helping",
      "votes": null
    },
    {
      "id": "1126872",
      "postDate": "12/26/2020 04:08:55",
      "content": "<p>I have one question, in saint++ paper, it use nn.embedding on elapsed time, but the  elapsed time is consequent not dispersed value, how does it embedded the elapsed time ? can you explain it plz? <a href=\"https://www.kaggle.com/yihdarshieh\" target=\"_blank\">@yihdarshieh</a>  <a href=\"https://www.kaggle.com/rafiko1\" target=\"_blank\">@rafiko1</a> </p>",
      "rawMarkdown": "I have one question, in saint++ paper, it use nn.embedding on elapsed time, but the  elapsed time is consequent not dispersed value, how does it embedded the elapsed time ? can you explain it plz? @yihdarshieh  @rafiko1",
      "votes": null
    },
    {
      "id": "1128603",
      "postDate": "12/27/2020 15:37:47",
      "content": "<p><a href=\"https://www.kaggle.com/bacicnikola\" target=\"_blank\">@bacicnikola</a> <br>\nwhat is right scale value one should use..<br>\n/1000<em>60 or 300</em>1000</p>\n<p>I see in some notebooks it is also 300*1000</p>\n<p>secondly..<br>\nin paper they say discretized into distinct integer minutes.. does it means creating categories of continuous minute values first using any of bin method ?</p>",
      "rawMarkdown": "bacicnikola \nwhat is right scale value one should use..\n/1000*60 or 300*1000\n\nI see in some notebooks it is also 300*1000\n\nsecondly..\nin paper they say discretized into distinct integer minutes.. does it means creating categories of continuous minute values first using any of bin method ?",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1081849,
      "author_name": "bacicnikola",
      "author_url": "",
      "post_date": "11/17/2020 10:42:23",
      "content": "<p>This was exactly my thought while reading the paper :) We should only use <code>prior_question_elapsed_time</code>, while they used <code>present_question_elapsed_time</code>. </p>",
      "votes": null,
      "replies": [
        {
          "id": 1128603,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/27/2020 15:37:47",
          "content": "<p><a href=\"https://www.kaggle.com/bacicnikola\" target=\"_blank\">@bacicnikola</a> <br>\nwhat is right scale value one should use..<br>\n/1000<em>60 or 300</em>1000</p>\n<p>I see in some notebooks it is also 300*1000</p>\n<p>secondly..<br>\nin paper they say discretized into distinct integer minutes.. does it means creating categories of continuous minute values first using any of bin method ?</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 1081891,
      "author_name": "rafiko1",
      "author_url": "",
      "post_date": "11/17/2020 11:28:04",
      "content": "<p>If I understood correctly: in the paper they add a start token to the elapsed time like they did with the response variable. So for example the current exercise id <code>e2</code> corresponds to <code>et1</code> i.e. the prior question elapsed time  <img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F474194%2F3b93deaf5be6f03c0bb85e672d6ccdd3%2FScreenshot%202020-11-17%20at%2012.15.18.png?generation=1605611931952141&amp;alt=media\" alt=\"\"></p>",
      "votes": null,
      "replies": [
        {
          "id": 1083390,
          "author_name": "yihdarshieh",
          "author_url": "",
          "post_date": "11/18/2020 23:33:09",
          "content": "<p>You are right, thank you for helping</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1126872,
          "author_name": "cswwp347724",
          "author_url": "",
          "post_date": "12/26/2020 04:08:55",
          "content": "<p>I have one question, in saint++ paper, it use nn.embedding on elapsed time, but the  elapsed time is consequent not dispersed value, how does it embedded the elapsed time ? can you explain it plz? <a href=\"https://www.kaggle.com/yihdarshieh\" target=\"_blank\">@yihdarshieh</a>  <a href=\"https://www.kaggle.com/rafiko1\" target=\"_blank\">@rafiko1</a> </p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1081198": "In the paper [SAINT+: A Transformer-based model for correctness prediction](https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/193250), the authors use a `elapsed time` between a response and its corresponding questions. Like\n\n![in this picture from the paper](https://i.ibb.co/DtzQ7h5/Capture3.png)\n\nAnd they claim \n\n> If the student does not have enough knowledge and skills for the exercise, it would be hard to respond correctly within the recommended time limit. Hence, elapsed time provides strong evidence for a student’s proficiency in knowledge and skills, and student’s understanding of concepts associated with the exercise.\n\nHowever, in reality, when we are at the moment having a question in hand and we want to predict if a student will be able to answer correctly, this `elapsed time` information shouldn't exist at that time.\n\nFor example, if the real life application of the model is to accurately predict how students will perform on future interactions and make students enjoy the benefits of a personalized learning experience, we must predict the probability of answer correction among a set of questions, before the students answering it (them).\n\nIn this competition, we have `prior_question_elapsed_time`, but this is the (averaged) time  used to answer each question in the PREVIOUS bundle.\n\nSo I am confused if it is a reasonable solution proposed in  [SAINT+: A Transformer-based model for correctness prediction](https://www.kaggle.com/c/riiid-test-answer-prediction/discussion/193250). I don't mean to criticize, but I am wondering other people's thought on this. Thank you.",
    "1081849": "This was exactly my thought while reading the paper :) We should only use `prior_question_elapsed_time`, while they used `present_question_elapsed_time`.",
    "1081891": "If I understood correctly: in the paper they add a start token to the elapsed time like they did with the response variable. So for example the current exercise id `e2` corresponds to `et1` i.e. the prior question elapsed time  ![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F474194%2F3b93deaf5be6f03c0bb85e672d6ccdd3%2FScreenshot%202020-11-17%20at%2012.15.18.png?generation=1605611931952141&alt=media)",
    "1083390": "You are right, thank you for helping",
    "1126872": "I have one question, in saint++ paper, it use nn.embedding on elapsed time, but the  elapsed time is consequent not dispersed value, how does it embedded the elapsed time ? can you explain it plz? @yihdarshieh  @rafiko1",
    "1128603": "bacicnikola \nwhat is right scale value one should use..\n/1000*60 or 300*1000\n\nI see in some notebooks it is also 300*1000\n\nsecondly..\nin paper they say discretized into distinct integer minutes.. does it means creating categories of continuous minute values first using any of bin method ?"
  },
  "source": "meta"
}