We would like to believe that all our memories are there forever, but this is often not what happens. We can lose memories, misremember what has occurred, or have other errors in what we recall. This article discusses different types of memory loss, the causes of lost memories, and what a person can do if they are concerned about memory loss.
Theories About Lost Time Memory
There are some theories as to how lost time memories work. Steven Johnson has one idea. He points to research showing that our brain stores memories in two areas. One part is the hippocampus, and the other is the amygdala. Damage to either of these brain structures can lead to various types of memory loss.
The amygdala is involved with storing, retrieving, and processing emotional memories, while the hippocampus is a central processing structure for learning and memory. Damage to the hippocampus can interfere with long-term memories. Damage to the amygdala can cause problems with the memory of emotional events, changes in emotional response, and trouble with decision-making. Traumatic experiences can damage the amygdala, resulting in loss of memory and emotional dysregulation.
Types Of Memory Loss
Are You Concerned About Memory Problems Like Lost Time Or Gaps In Recollection?
Rewriting Memories
One type of memory loss is the rewriting of memories. Theories about this change in memory suggest that every time you remember something, it gets rewritten in your brain. Researchers are investigating how we can use this memory process to help people overcome traumatic memories. They have found that by quickly invoking an unpleasant memory multiple times shortly after the memory forms, it can be erased, or at least the unpleasant association and response can be significantly reduced by recalling the event over and over within a short period.
Lacunar Amnesia
This form of memory loss is when you forget something about a specific event. The rest of your memory may be fine, but that particular memory is missing. This type of memory loss is called lacunar amnesia because it leaves a gap in a person’s memory. There is a missing memory, and it can be frustrating trying to figure out what it is you can’t remember. In most cases, it’s not due to a traumatic event but results from brain damage to the limbic system. The limbic system is the part of the brain responsible for emotions and memories about emotional events.
Memory Errors
A memory error is when you cannot recall a specific memory or remember it in a way different from the actual event. An example of a memory error is remembering something that never happened or remembering an event with details other than what actually occurred. There are many reasons why a memory gap like this can happen, including experiencing intense emotions at the time of the event or hearing different versions of an event from other people and confusing it with your memories.
Blocking
Have you ever tried to remember something that you know, but for some reason, you can’t remember it? The missing fact seems to be at the tip of your tongue, but you can’t bring it into your mind. This phenomenon is known as blocking, and it is a common experience. Memory blocking is the failure to retrieve information that you know. It can happen when the memory links to what you’re trying to remember are weaker and thus hinder recall. Memory blocking is common and can happen at any age, but it can become more frequent as a person ages.
Absent-mindedness
We all know someone who is absent-minded, but we may not know precisely what absent-mindedness is. We can also describe absent-mindedness as preoccupation. It can result in a person failing to take notice of and remember events going on in the present and not being able to recall these events later. There are at least three causes of absent-mindedness: low attention levels, hyper-focus on another stimulus, and distraction by thoughts that are irrelevant to the present.
False Memories
Are your memories as accurate as you’d like to believe? According to the theory of false memories, also known as confabulation, they may not be. Your memory may not be accurate or may not even authentic at all. How does this happen? There are several theories. Sometimes, others can implant what feels like a memory by suggestion. The other person may be misremembering, or the memory may not be accurate to begin with, but because it is someone you know, you might believe them. A false memory might result. False memories can also be the result of certain types of brain damage.
Bias
Beliefs can cloud our judgment and thinking. When we recall a memory, we may be biased toward ourselves and can turn a memory about something we did wrong into something more positive. Conversely, if we are biased toward the negative, a positive memory might become pessimistic when recalled.
There are several types of changes in memory resulting from bias. First, consistency bias involves a tendency to judge one’s interpersonal behavior in line with our existing self-image. Then there is change bias, when we exaggerate what we feel now versus what we experienced in the past. Finally, there is egocentric bias when we exaggerate experiences that have happened to make our actions appear more optimistic than they are.
Source Confusion
Source confusion is when we misattribute the source of a memory. For example, let’s say you recall going to a historic concert as a child. In reality, you saw the show on TV. But because you cannot accurately remember the source of the memory, you believe you saw it in person. Source confusion happens most frequently with childhood memories. For example, something your mother told you happened to her as a child can make you believe the event happened to you instead.
Imagined Inflation
An imagined inflation memory happens when a person repeatedly imagines that something happened that never occurred. Each time the person recalls the fictional event, they become more confident that it is a real memory.
Time Slice Errors
Time slice errors happen when a person recalls an actual event but not the correct one for the slice of time they were asked to remember. For example, someone may ask a person to recall a particular occasion, but instead, they recollect a different portion of time and not the event they were asked to remember.
Personal Life Effects
Are You Concerned About Memory Problems Like Lost Time Or Gaps In Recollection?
Personal life events memory loss is when someone tells you a particular event happened, but you cannot recollect it. There are many reasons this type of memory error can occur, including having traumatic experiences related to the memory or traumatic events that took place in the same period.
What Can We Learn from All This?
Lost time memories and other mistakes in memory can teach us that memory is complex and prone to many types of errors. We would like to believe our memories are perfect, but psychology reveals that humans can experience many types of disturbance to accurate memory. While many memories are true, some events can be exaggerated, attributed to the wrong time or place, or never happened at all.
When to Seek Help
If you have memory problems, such as gaps in your memory, lost time periods, or disturbing childhood memories you want to resolve, seeking an in-person or online therapist can help. A therapist can help you by supporting you in recalling events you might have forgotten or misremembered. A therapist can also help figure out the causes of lost time or other memory disturbances and what you can do to improve your memory.
Online therapy is an effective option for receiving treatment related to memory loss. In a study of 46 participants who had problems with memory after a stroke, participants were either enrolled in online therapy or face-to-face therapy. Both groups significantly improved in their everyday memory function and achieved treatment-related goals.
BetterHelp.com is an online therapy platform where you can easily connect with a therapist who can help you with memory problems. You won’t have to worry about taking time out of your day to commute to an office when you work with a therapist through video chat sessions, phone calls, or text messaging. Online therapy is also often less expensive than in-person sessions.
Takeaway
Memory involves complex processes in the brain and is prone to many types of error, including lost time, exaggeration of past events, and confusion about the source of a memory. Nonetheless, our memories are precious to us, and working with a therapist can help resolve many issues related to problems with memory.
Counselor Reviews
“She’s the first counselor allowed me to weep and get upset when we’re tackling difficult and painful memories from my childhood. It’s honestly refreshing and very welcomed.”
https://www.betterhelp.com/toni-autrey/
“I have been using BetterHelp for about a month or so now. After a few sessions, I have to say my feelings have went from hopeless to hopeful. I have gained knowledge and understanding about some things I have been going through more in the last month than I feel I have over the last few years. I feel Tiffany Guthrie has been an excellent facilitator at giving me the tools to learn about and understand the different Trauma-related symptoms and how applying daily techniques helps lessen the physical effects it has on your body. I especially love the Journal feature, it allows me to express my feelings in a safe environment and at any time. I have already recommended Tiffany Guthrie and BetterHelp to my family. Thank you! I look forward to the future and learning more on how to help myself. Thank you Tiffany for your compassion, knowledge, and understanding.”
Exception:
IndexError: list index out of range
Module:
orangecontrib.timeseries.widgets.owtimeslice:102
Widget Name:
Time Slice
Widget Module:
orangecontrib.timeseries.widgets.owtimeslice:243
Widget Scheme:
Version:
3.27.1
Environment:
Python 3.7.6 on Windows 10 10.0.18362 AMD64
Installed Packages:
AnyQt==0.0.11, Bottleneck==1.3.2, CacheControl==0.12.6, Orange3-Timeseries==0.3.8, Orange3==3.27.1, Pillow==8.0.0, PyQt5-sip==4.19.18, PyQt5==5.12.3, PyQtChart==5.12, PyQtWebEngine==5.12.1, PySocks==1.7.1, PyYAML==5.3.1, XlsxWriter==1.3.7, baycomp==1.0.2, brotlipy==0.7.0, certifi==2020.12.5, cffi==1.14.3, chardet==3.0.4, commonmark==0.9.1, cryptography==3.1.1, cycler==0.10.0, decorator==4.4.2, dictdiffer==0.8.0, docutils==0.16, et-xmlfile==1.0.1, future==0.18.2, h11==0.9.0, h2==3.2.0, hpack==3.0.0, httpcore==0.10.1, httpx==0.14.3, hyperframe==5.2.0, idna==2.10, importlib-metadata==2.0.0, jdcal==1.4.1, joblib==0.17.0, keyring==21.4.0, keyrings.alt==4.0.0, kiwisolver==1.2.0, llvmlite==0.34.0, lockfile==0.12.2, lxml==4.6.2, matplotlib==3.3.2, mkl-fft==1.2.0, mkl-random==1.1.1, mkl-service==2.3.0, more-itertools==8.7.0, msgpack==1.0.0, networkx==2.5, numba==0.51.2, numpy==1.19.2, olefile==0.46, openTSNE==0.4.3, openpyxl==3.0.5, orange-canvas-core==0.1.18, orange-widget-base==4.9.0, pandas-datareader==0.9.0, pandas==1.1.3, patsy==0.5.1, pip==20.2.4, pyOpenSSL==19.1.0, pycparser==2.20, pynndescent==0.4.8, pyparsing==2.4.7, pyqtgraph==0.11.0, python-dateutil==2.8.1, python-louvain==0.14, pytz==2020.1, pywin32-ctypes==0.2.0, requests==2.24.0, rfc3986==1.4.0, scikit-learn==0.23.2, scipy==1.6.0, serverfiles==0.3.0, setuptools==50.3.0.post20201006, six==1.15.0, sniffio==1.1.0, statsmodels==0.12.2, threadpoolctl==2.1.0, tornado==6.0.4, urllib3==1.25.11, wheel==0.35.1, win-inet-pton==1.1.0, wincertstore==0.2, xlrd==1.2.0, zipp==3.3.1
Machine ID:
ae840bf5-43be-4d15-aeeb-37111a21e895
Stack Trace:
Traceback (most recent call last):
File «C:UsersterryAppDataLocalProgramsOrangelibsite-packagesorangecanvasschemewidgetmanager.py», line 367, in __process_init_queue
self.ensure_created(node)
File «C:UsersterryAppDataLocalProgramsOrangelibsite-packagesorangecanvasschemewidgetmanager.py», line 315, in ensure_created
self.__add_widget_for_node(node)
File «C:UsersterryAppDataLocalProgramsOrangelibsite-packagesorangecanvasschemewidgetmanager.py», line 231, in __add_widget_for_node
w = self.create_widget_for_node(node)
File «C:UsersterryAppDataLocalProgramsOrangelibsite-packagesorangewidgetworkflowwidgetsscheme.py», line 296, in create_widget_for_node
widget = self.create_widget_instance(node)
File «C:UsersterryAppDataLocalProgramsOrangelibsite-packagesorangewidgetworkflowwidgetsscheme.py», line 409, in create_widget_instance
widget.init()
File «C:UsersterryAppDataLocalProgramsOrangelibsite-packagesorangecontribtimeserieswidgetsowtimeslice.py», line 243, in init
self.icons_font = load_icons_font()
File «C:UsersterryAppDataLocalProgramsOrangelibsite-packagesorangecontribtimeserieswidgetsowtimeslice.py», line 102, in load_icons_font
font_family = QFontDatabase.applicationFontFamilies(fontId)[0]
IndexError: list index out of range
Local Variables:
OrderedDict([(‘fontId’, -1)])
-
wlam
- Newbie
- Posts: 6
- Joined: Thu Apr 05, 2012 10:52 pm
time_slice
When the slice_length argument for the time_slice() function is not a factor of the unit, when does the time slice begin?
Does the very first time slice begin at 0001-1-1 00:00:00 ?
For the following time_slice
time_slice(timestamp ‘0001-1-1 00:00:00’, 59, ‘second’, ‘start’)
I get this result
0001-12-31 23:59:34 BC
I am confused.
-
JimKnicely
- Site Admin
- Posts: 1825
- Joined: Sat Jan 21, 2012 4:58 am
- Contact:
Re: time_slice
Post
by JimKnicely » Thu Apr 12, 2012 2:24 pm
Thanks for driving me crazy the last few days while I thought about an answer to your question!
I was also very confused by your example at first, but I think this is how it all works out:
- 1) Time slices appear to be relative to the smallest (oldest) time stamp in Vertica which I believe is the time stamp ‘290279-12-23 00:00:00 BC’. I show here that the TIMESTAMP function returns an «out of range» error for a time stamp which is just once second earlier than ‘290279-12-23 00:00:00 BC’:
-
Code: Select all
dbadmin=> select timestamp '290279-12-23 00:00:00 BC' a_really_long_time_ago; a_really_long_time_ago -------------------------- 290279-12-23 00:00:00 BC (1 row) dbadmin=> select timestamp '290279-12-22 23:59:59 BC' way_too_long_ago; ERROR: date/time field value out of range: "290279-12-22 23:59:59 BC"
- 2) We can find the start of the 59 second time slice for the time stamp ‘290279-12-23 00:00:00 BC’ using the TIME_SLICE function:
-
Code: Select all
dbadmin=> select time_slice(timestamp '290279-12-23 00:00:00 BC', 59, 'second', 'start'); time_slice -------------------------- 290279-12-22 23:59:43 BC (1 row)
- It’s interesting that we can compute this value even though it’s a time stamp earlier than the time stamp we already determined to be the smallest allowable in Vertica! This must be a special case.
Just to clarify, here we see that we can store the time stamp ‘290279-12-23 00:00:00 BC’ but not the time stamp ‘290279-12-22 23:59:43 BC’ in a time stamp field in a table:
-
Code: Select all
dbadmin=> create table test2 (a_timestamp timestamp); CREATE TABLE dbadmin=> insert into test2 values (timestamp '290279-12-23 00:00:00 BC'); OUTPUT -------- 1 (1 row) dbadmin=> insert into test2 values (timestamp '290279-12-22 23:59:43 BC'); ERROR: date/time field value out of range: "290279-12-22 23:59:43 BC"
- 3) Now we need to determine how many seconds there are between the time stamp ‘290279-12-22 23:59:43 BC’ (the start of the earliest 59 second time slice) and the time stamp ‘0001-1-1 00:00:00’ (from your example):
-
Code: Select all
dbadmin=> select timestampdiff('second', timestamp '290279-12-22 23:59:43 BC', timestamp '0001-1-1 00:00:00') seconds_between_time_stamps; ERROR: date/time field value out of range: "290279-12-22 23:59:43 BC"
- Oops, we can’t use the time stamp ‘290279-12-22 23:59:43 BC’ so we’ll have to use the ending time stamp for the time slice:
-
Code: Select all
dbadmin=> select time_slice(timestamp '290279-12-23 00:00:00 BC', 59, 'second', 'end'); time_slice -------------------------- 290279-12-23 00:00:42 BC (1 row) dbadmin=> select timestampdiff('second', timestamp '290279-12-23 00:00:42 BC', timestamp '0001-1-1 00:00:00') seconds_between_time_stamps; seconds_between_time_stamps ----------------------------- 9160289740758 (1 row)
- 4) We need to add the 59 seconds for the first time slice that we could not compute:
-
Code: Select all
dbadmin=> select 9160289740758 + 59 secs_with_first_ts; secs_with_first_ts -------------------- 9160289740817 (1 row)
- 5) We can then divide the total seconds by 59 to get the total number of time slices:
-
Code: Select all
dbadmin=> select 9160289740817 / 59.0 total_time_slices; total_time_slices ------------------------------ 155259148149.440677966101695 (1 row)
- 6) The fractional number of seconds computed in step 5 can be used to find the number of seconds that we need to subtract from your example time stamp ‘0001-1-1 00:00:00’ to get to the start of its 59 second time slice:
-
Code: Select all
dbadmin=> select .440677966101695 * 59 seconds_to_ts_start; seconds_to_ts_start --------------------- 26.000000000000005 (1 row) dbadmin=> select timestamp '0001-1-1 00:00:00' - '26 seconds'::INTERVAL my_timeslice_start; my_timeslice_start ------------------------ 0001-12-31 23:59:34 BC (1 row)
And that’s how I believe that Vertica arrived at the time stamp ‘0001-12-31 23:59:34 BC’ as the start of the 59 second time slice for the time stamp ‘0001-1-1 00:00:00’ in your example!
We can condense steps 3-6 from above into one SELECT statement:
Code: Select all
dbadmin=> select timestampadd('second', (-1)*cast(round(mod((timestampdiff('second', time_slice(timestamp '290279-12-23 00:00:00 BC', 59, 'second', 'end'), timestamp '0001-01-01 00:00:00')+59)/59.0,1)*59,1.0) as int), timestamp '0001-01-01 00:00:00');
timestampadd
------------------------
0001-12-31 23:59:34 BC
(1 row)
Note that according to the Vertica documentation, this is expected behavior, as the following properties are true for all time slices:
- 1. Equal in length
2. Consecutive (no gaps between them)
3. Non-overlapping
I hope this helps!
Jim Knicely
Note: I work for Vertica. My views, opinions, and thoughts expressed here do not represent those of my employer.
-
Tom
- Newbie
- Posts: 6
- Joined: Wed Jan 25, 2012 8:11 pm
Re: time_slice
Post
by Tom » Thu Apr 12, 2012 4:02 pm
I’ll have to read that again…
-
wlam
- Newbie
- Posts: 6
- Joined: Thu Apr 05, 2012 10:52 pm
Re: time_slice
Post
by wlam » Thu Apr 12, 2012 6:23 pm
knicely87,
Thank you very much for your answer. I was worried that no one would answer.
-
JimKnicely
- Site Admin
- Posts: 1825
- Joined: Sat Jan 21, 2012 4:58 am
- Contact:
Re: time_slice
Post
by JimKnicely » Thu Apr 12, 2012 6:59 pm
You are welcome! I hope the answer made sense!
If you don’t mind me asking, how are you using the TIME_SLICE function? Someone else asked me what the applicable use for this function is in the real world.
Jim Knicely
Note: I work for Vertica. My views, opinions, and thoughts expressed here do not represent those of my employer.
-
wlam
- Newbie
- Posts: 6
- Joined: Thu Apr 05, 2012 10:52 pm
Re: time_slice
Post
by wlam » Thu Apr 12, 2012 7:10 pm
knicely87,
Looking at your example, it is still not clear why 290279-12-22 23:59:38 BC is the first time slice for 59 seconds.
time_slice(timestamp ‘290279-12-23 00:00:00 BC’, 58, ‘second’, ‘start’) = 290279-12-22 23:59:38 BC
time_slice(timestamp ‘290279-12-23 00:00:00 BC’, 57, ‘second’, ‘start’) = 290279-12-22 23:59:39 BC
time_slice(timestamp ‘290279-12-23 00:00:00 BC’, 56, ‘second’, ‘start’) = 290279-12-22 23:59:36 BC
time_slice(timestamp ‘290279-12-23 00:00:00 BC’, 55, ‘second’, ‘start’) = 290279-12-22 23:59:35 BC
time_slice(timestamp ‘290279-12-23 00:00:00 BC’, 54, ‘second’, ‘start’) = 290279-12-23 00:00:00 BC
time_slice(timestamp ‘290279-12-23 00:00:00 BC’, 53, ‘second’, ‘start’) = 290279-12-22 23:59:12 BC
How does Vertica determine the first time_slice?
-
wlam
- Newbie
- Posts: 6
- Joined: Thu Apr 05, 2012 10:52 pm
Re: time_slice
Post
by wlam » Thu Apr 12, 2012 8:19 pm
Here is an example usage that my customer gave to me:
I have used that function to aggregate data for every 5-minute intervals. For instance, there are trades happening for a stock symbol throughout the day. My analysis might require looking at things for 5-minute intervals. I can use the TIME_SLICE function to round a timestamp column to 5-minute interval. The result is that I am now looking at only 288 data points out of a 24 hour window, instead of millions of data points if I don’t aggregate using TIME_SLICE.